본문 바로가기

ios4

[iOS] Lottie Animation Color 수정(ColorValueProvider) iOS 앱 개발 중 다크모드 적용을 위해 애니메이션의 컬러를 변경해야 했다. Lottie 애니메이션은 런타임에 기본적으로 렌더링되므로 프로그래밍 방식으로 수정하는 것이 가능하다. Value Provider란, 개발자가 런타임에 애니메이션 속성을 쉽게 수정하기 위해 활용할 수 있는 클래스이다. Lottie 애니메이션 내의 모든 요소는 노드로 표시되며, 노드에 액세스하려면 해당 노드의 키 경로(key path)를 알아야 한다. print(AnimationView.logHierarchyKeypaths()) 1. AnimationView.logHierarchyKeypaths()로 경로를 확인한다. 모든 애니메이션의 주요 경로가 나열되어 있으므로 Value Provider를 사용하여 Lottie 애니메이션을 수.. 2021. 11. 30.
[iOS] 화면 터치, Return/Enter 시 키보드 내리기(Hide keyboard) 1. 화면 터치 UIViewController의 터치 관련 메소드 중에 touchesBegan 메소드가 있다. ViewController에 아래 코드를 추가하면 화면 터치 시 키보드가 내려간다. class ViewController: UIViewController { ... override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } } 2. Return 키 화면 터치 외에도 TextField에서 입력을 완료한 후 Return 키를 눌렀을 경우 키보드가 내려가는 상황을 가장 많이 경험할 수 있다. TextField에서 키보드의 return 키를 누르면 resignFirstResponder()을 .. 2021. 11. 15.
[iOS] UISheetPresentationController로 Bottom Sheet 띄우기 UISheetPresentationController? 시트의 모양과 동작을 관리하는 프레젠테이션 컨트롤러이다. WWDC 2021에서 새로운 UISheetPresentationController를 사용하여 시트를 띄울 수 있는 방법을 제시했다. 새로운 UISheetPresentationController는 높이를 조정하고, 상단에 grabber를 추가하는 등 더욱 간단하게 구현할 수 있도록 해준다. How to use it 현재 ViewController에서 시트로 띄우고자 하는 다음 ViewController를 정의한다. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction.. 2021. 11. 15.
[iOS] Custom font 적용 안 될 때 해결 방법 문제 아래처럼 extension으로 UIFont를 정의하고 View에서 사용하고자 할 때 적용이 되지 않는다. extension UIFont { enum Family: String { case Bold, Light, Medium, Regular, Thin } static func noto(size: CGFloat, family: Family) -> UIFont! { return UIFont(name: "noto_sans_cjk_kr_\(family)", size: size) } } text.font = UIFont.noto(size: 16, family: .Regular) 해결 방안 1. Font 파일 안에 적용하고자 하는 폰트를 넣고 Target Membership 체크를 했는지 확인한다. 2. inf.. 2021. 11. 15.