본문 바로가기
728x90
반응형

🍎 iOS/UI59

[iOS/UI] System Icon 사용법 스토리보드 어트리뷰트 인스펙터에서 Image를 넣어주거나 코드상에선 아래 코드를 이용해 넣어준다. UIImage(systemName:"heart") 2020. 2. 5.
[iOS]푸쉬알림 보내기 import UserNotifications override func viewDidLoad() { super.viewDidLoad() let center = UNUserNotificationCenter.current() center.requestAuthorization(options: [.alert,.sound]) { (granted, error) in } let content = UNMutableNotificationContent() content.title = "될까요?" content.body = "되겠지" let date = Date().addingTimeInterval(3) let dateComponents = Calendar.current.dateComponents([.year,.month,... 2020. 1. 23.
[iOS] link url로 이동하기 let url = NSURL(string:"원하는 주소")! as URL UIApplication.shared.open(url, options: [:], completionHandler: nil) 2020. 1. 15.
[iOS/UI] 폰트 적용하기(feat.네비게이션타이틀) 원하는 폰트를 다운받고 Xcode 프로젝트에 추가해준다. 그리고 폰트파일을 누르고 오른쪽 하단에 Target Membership을 체크해준다. info.plist에서 Fonts provided by apllication에서 다운받은 폰트이름을 아이템에 넣어준다 Font Custom으로 들어가서 Family를 누르면 다운받은 폰트파일이 있는 걸 볼 수 있다. 그리고 네비게이션바의 타이틀 폰트도 바꾸고 싶었는데 스토리보드 상에선 바꿀 수 있는 폰트가 몇 개 없었다. 그래서 코드로 넣어주는 법을 알아보았는데 네비게이션바에서 타이틀에 어트리뷰트를 넣어주면 됐다. 여기서 헷갈린 점은 폰트이름이 파일이름인가? 아니면 Family에 있는 이름? Style에 있는 이름?인지였다. 정답은 Family에 있는 이름을 넣어.. 2020. 1. 13.
[iOS] 네비게이션 컨트롤러가 연결된 뷰컨트롤러에 세그값 넘기기(UINavigationController Segue and UIRootViewController) 세그를 이용해 데이터를 넘기려다가 네비게이션컨트롤러가 연결된 뷰컨트롤러에 바로 넘기니깐 네비게이션 바가 생략되면서 화면이 전환되었다. 아래처럼 해결방법은 네비게이션컨트롤러에 세그를 걸어준 뒤 네비게이션 컨트롤러와 연결된 뷰컨트롤러에 데이터를 전달하는 방법이었다. 아래처럼 세그를 네비게이션 컨트롤러에 연결해주고 identifier를 정해준다. 그리고 값을 보낼 컨트롤러에서 override func prepare를 통해 현재 뷰컨트롤러의 텍스트필드 값을 네비게이션의 text 변수에 보내주고 버튼을 눌렀을 때 performSegue가 되게 한다. withIdentifier엔 아까 정해놓은 것을 넣어주면 된다. import UIKit class GoViewController: UIViewController { .. 2020. 1. 12.
[iOS/UI] 텍스트필드 안에 이미지 넣기 및 여백주기(UIImage in UITextField and Padding) 텍스트필드 안에 이미지를 넣고싶었다. 그리고 왼쪽으로 너무 치우쳐져 있는 경우도 있어서 이미지는 안넣고 왼쪽에 패딩을 주고 싶었다.텍스트필드에 익스텐션을 주고 첫 번째엔 패딩뷰를 따로 생성해서 width값으로 10을 줘버려서 10만큼 왼쪽에 패딩을 주는 효과를 주는 것이다.extension UITextField { func addLeftPadding() { let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: self.frame.height)) self.leftView = paddingView self.leftViewMode = ViewMode.always } func addleftimage(image:UIImage) { let le.. 2020. 1. 10.
커스텀 이미지픽커 및 멀티픽(Custom ImagePicker and MultiPick) 한 2주동안 찾아 헤멨던 건데 결국 해결해냈다. 앨범에 있는 사진을 고를 때 여러개를 고르고싶고 내가 커스텀한 디자인으로 픽되는 모습을 띄우고싶었는데 여러 라이브러리를 써도 오류가 뜨고 쉽게 할 수가 없었다. 그래서 앨범에 있는 데이터를 가져와 내가 만든 콜렉션뷰에 저장해서 셀렉트될 때마다 바꾸면 되겠다고 생각을 했다. 앨범에 있는 데이터를 가져오는 법은 1.Appdelegate에 import Photos 를 해준다. 2. PHFetchResult를 담은 allPhotos와 그 갯수인 photocount를 전역 변수 선언해준다 3. didFinishLaunchingWithIptions 함수 안에 아래 함수를 넣어준 뒤 4.원하는 콜렉션뷰가 있는 클래스로 가서 numberOfItemsInSection에 p.. 2020. 1. 9.
[iOS/UI] 네비게이션 바 아이템 특정부분 색 다르게 하기 네비게이션 바에선 아이템을 색을 특정 부분만 바꿀 수가 없었다. 그래서 찾아본 결과 버튼을 커스텁하여 그 위에 입혀준 다음 버튼에 애드타겟을 걸어주면 됐다. 아래와 같이 알람뱃지와 같은 이미지를 아래 동그란 부분만 빨갛게 표현되는 걸 볼 수 있다. 2020. 1. 7.
[iOS/UI] 코드로 width, height,x축,y축 center 지정하기(Autolayout Programatically) 스토리보드상에서 말고 코드로 특정 뷰를 중앙에 배치하거나 가로,세로 크기를 정해주고 싶었다. 방법은 아주 간단했다. 우선 스토리보드상에 검정뷰를 하나 만들고 아무 contraints를 걸어주지 않으면 스토리보드상에 만들었던 뷰 그대로 모양이 시뮬레이터 상에 나온다. 가장 핵심은 translatesAutoresizingMaskIntoConstarainsts를 false로 해야 자동으로 리사이징되는 것을 막을 수 있다. 이 코드를 넣어주지 않으면 아무것도 적용이 안된다. //뷰를 자동으로 리사이징 하지마! BlackView.translatesAutoresizingMaskIntoConstraints = false //가로크기를 50 BlackView.widthAnchor.constraint(equalToCon.. 2020. 1. 6.
[iOS/UI] 가로모드 막기(UIInterfaceOrientationMask.portrait) 가로모드를 막는 방법은 간단하다. 앱딜리게이트에 shouldSupporAllOrientation이라는 변수를 만들어주고 supportedInterfaceOrientationFor 함수에 변수가 true면 모든 방향을 가능하게 하고 false면 세로모드만 가능하게 하라라고 설정해준 뒤 가로모드를 막고싶은 뷰컨트롤러에 AppDelegate를 대신할 상수를 만들주고 viewDidLoad()에 appdelegate에 아까 만들어놨던 변수 shouldSupportAllOrientation를 false로 바꿔주면 된다. 아래 왼쪽은 가로모드를 막기 전이고 오른쪽은 적용한 후의 모습이다. 2020. 1. 5.
[iOS] 처음 화면 뷰컨트롤러로 설정하기(Set InstantiateViewController) 앱 실행 시 처음 화면을 원하는 뷰컨트롤러로 띄우고 싶을 때가 있다. 아래와 같은 코드를 사용하면 원하는 뷰컨트롤러로 시작화면을 띄울 수 있다. class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { var initialViewController: UIViewController? let mainStoryboard : UIStoryboard = UIStoryboard(nam.. 2020. 1. 4.
[iOS] 코드로 원하는 뷰컨트롤러 이동하기(Programmatically transition UIViewController) 스토리보드없이 어떤 뷰컨트롤러에서 다른 뷰컨트롤러로 이동하고싶었다. 그래서 구글링을 해서 찾아본 결과 스토리보드의 시작뷰컨트롤러를 Idenftifier를 이용해서 보여줄 수 있었다. //현재 스토리보드에 뷰컨트롤러를 StoryboardID가 "Arrive"인 뷰컨트롤러를 보여줘 let view = self.storyboard?.instantiateViewController(withIdentifier: "Arrive") //이동할 때 화면 coverVertical로 보여줘 view?.modalTransitionStyle = UIModalTransitionStyle.coverVertical //view를 보여줘! self.present(view!, animated: true, completion: nil) .. 2020. 1. 3.
728x90
반응형