본문 바로가기

iOS/App Frameworks7

팬제스처와 네비게이션 팝(뒤로가기) 제스처가 상충되는 문제 해결하기 문제 현재 회사에서 개발중인 앱에는 가로 스크롤이 가능한 스크롤뷰(콜렉션뷰 포함)들이 각 화면에 다양하게 존재하고 있습니다. 문제는 기기의 왼쪽 엣지를 오른쪽으로 쓸어넘겨서 뒤로가기(interactivePopGesture)를 하고 싶어도 할 수가 없고 스크롤뷰의 가로방향 팬제스처만 인식한다는 겁니다. 특히 화면 전체를 가로 스크롤 가능한 콜렉션뷰가 덮고 있는 화면들이 좀 있는데요. 이 경우에는 특히나 사용성이 떨어집니다. 반드시 좌상단에 있는 뒤로가기 버튼을 탭해줘야만 네비게이션의 이전 스택으로 팝을 할 수 있기 때문이죠. 해결 방법은 간단합니다. UIGestureRecognizerDelegate의 메소드 중 두 제스처인식기가 인식되었을 때 그 중 하나의 인식을 실패하게 할 지를 결정하는 메소드 gest.. 2020. 7. 4.
[WWDC20] Advances in diffable data sources Advances in diffable data sources - WWDC 2020 - Videos - Apple Developer Advances in diffable data sources - WWDC 2020 - Videos - Apple Developer Diffable data sources dramatically simplify the work involved in managing and updating collection and table views to create dynamic and... developer.apple.com 개요 이 비디오에서는 iOS 14 용 Diffable Data Source의 발전에 대해 다루고 있습니다. 샘플코드를 실행하면 첫 번째 섹션에는 가로로 스크롤되는 이모.. 2020. 6. 28.
[WWDC20] Lists in UICollectionView Lists in UICollectionView - WWDC 2020 - Videos - Apple Developer Lists in UICollectionView - WWDC 2020 - Videos - Apple Developer Learn how to build lists and sidebars in your app with UICollectionView. Replace table view appearance while taking advantage of the full... developer.apple.com 영문세션을 번역하였습니다. 오역이 있을 수 있습니다. 잘못된 부분이 있다면 알려주세요! 본 세션에서는 다루지 않는 내용을 배울 수 있는 세션들은 무엇이 있는지 알려줍니다. 학습에 참고하세요. .. 2020. 6. 25.
SwiftUI - Introduction SwiftUI by Example - free quick start tutorials for Swift developers SwiftUI란 무엇인가? SwiftUI는 선언적 방식으로 앱을 디자인 할 수 있는 사용자 인터페이스 툴킷입니다. 명령형 UI (Imperative UI) 버튼을 클릭할 때 함수를 호출 할 수 있고 함수 내부에서 값을 읽고 레이블을 표시한다. 정기적으로 사용자 인터페이스의 모양과 동작을 변경해야 한다. 명령형 UI는 모든 종류의 문제를 일으키는데 대부분의 문제는 상태(코드에 저장한 값)를 기반으로 발생합니다. 코드의 상태를 추적하고 사용자 인터페이스가 해당 상태를 올바르게 반영하는지 확인해야합니다. UI에 영향을 주는 두 개의 Bool 속성이 있는 화면에서 Bool은 4가지 상태가 .. 2020. 6. 15.
UIGestureRecognizerDelegate [ios] Handling UIKit Gestures [ios] Handling UIKit Gestures Handling UIKit Gestures Gesture recognizer를 사용하는 것은 뷰에서 발생하는 Touch나 Press 이벤트를 다룰수 있는 가장 간단한 방법입니다. 어떤 뷰든간에 한 개 혹은 복수 개의 Gesture에 대한 recognizer를.. baked-corn.tistory.com iOS ) ScrollView에서 위아래 Gesture를 감지하고싶다면? / UIGestureRecognizerDelegate iOS ) ScrollView에서 위아래 Gesture를 감지하고싶다면? / UIGestureRecognizerDelegate 안녕하세요 :) Zedd입니다. 알아두면 좋은 .. 2020. 3. 5.
[UIKit] 'App' and 'Scenes' 개요 iOS 13이상에서는 유저가 앱UI의 여러 인스턴스를 동시에 만들고 관리 할 수 있으며, app switcher를 통해 전환도 할 수 있습니다. app Switcher란 홈버튼 더블클릭, 인디케이터바를 위로 스와이프 해서 나오는 화면을 말합니다. iPad에서는 유저가 여러개의 인스턴스를 나란히 표시 할 수도 있습니다. UI의 각 인스턴스마다 다른내용, 다른방식으로 표시됩니다. 예를 들어 캘린더 앱은 특정 날짜와 특정 달에 대한 약속을 동시에 보여줄수 있습니다. 이전에는 한 앱을 동시에 켜는 것이 불가능 하였습니다. UIkit은 UIWindowScene객체를 이용하여 앱 UI의 각 인스턴스를 관리합니다. Scene에는 UI의 한 인스턴스를 표시하는데 필요한 windows와 view controller.. 2020. 3. 4.
UINavigationController push 할 때 이미지 확대/축소 전환효과주기 (+ interactive) masamichiueta/FluidPhoto Create transition and interaction like iOS Photos app I. class 구조 만들기 class ZoomTransitionController UIViewControllerTransitioningDelegate 또는 UINavigationControllerDelegate를 구현하고 전환을 관리합니다. class ZoomAnimator UIViewControllerAnimatedTransitioning 및 줌 애니메이션 논리를 구현합니다. ZoomAnimator는 ZoomTransitionController의 속성입니다. 두 클래스에서 ZoomAnimator 와 ZoomTransitionController 를 분리 한 이유 .. 2020. 1. 26.