일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- MVVM
- Xcode
- combine
- SWIFT
- swift documentation
- uiscrollview
- Protocol
- 애니메이션
- tableView
- uitableview
- UICollectionView
- ios
- RxCocoa
- collectionview
- rxswift
- map
- 리팩토링
- 클린 코드
- 스위프트
- Observable
- 리펙터링
- HIG
- Human interface guide
- clean architecture
- UITextView
- Refactoring
- swiftUI
- ribs
- Clean Code
- 리펙토링
- Today
- Total
목록present (8)
김종권의 iOS 앱 개발 알아가기
화면전환 기초 present: 현재 화면과 다른 새로운 과업을 수행할 때 push: 현재 화면과 연관된 과업을 수행할 때 화면전환이 되는 케이스와 안되는 케이스 같은 화면에서 present 여러번은 불가능 crash 발생은 하지 않음 crash가 발생하는 케이스는 자기 자신 화면을 띄우는 경우나 같은 화면을 띄우는 경우에 발생 @objc private func tap() { // A화면에서 B화면을 present > A화면에서 C화면을 present (x) present(vc1, animated: true) DispatchQueue.main.asyncAfter(deadline: .now() + 3, execute: { self.present(self.vc2, animated: true) }) } (같은 ..
커스텀 팝업 ViewController * UIView 를 이용한 커스텀 팝업은 이전 포스팅 글 참고 커스텀 팝업 사용하는 쪽에서 present로 접근하여 사용할 수 있게끔 UIViewController를 상속받아서 구현되어야 하는 형태 팝업을 오픈하면 아래에서 위로 올라오는 애니메이션이 있는 형태의 팝업 구현 아이디어 UIViewController를 상속받아서 구현 modalTransitionStyle을 .coverVertical로 하면 아래에서 위로 올라오는 애니메이션이 적용되는데 이걸 그대로 사용 modalTransitionStyle 관련 개념은 이전 포스팅 글 참고 dimmed시키는 기능은 viewWillAppear에서 UIView를 추가하고, viewWillDisappear에서 UIView를 제..
화면전환 애니메이션 커스텀 방법 UIViewControllerTransitioningDelegate를 사용한 방법 델리게이트를 구현하여 여러곳에서 공통적인 애니메이션이 사용될 경우, 한번 구현해놓으면 다른곳에서도 쓰기 쉽기 때문에 재활용성이 높음 * UIViewControllerTransitioningDelegate를 이용한 화면전환 애니메이션 커스텀 방법은 이전 포스팅 글 참고 CATransition을 사용한 방법 여러곳에서 사용되지 않고 특정 화면에서만 사용하는 경우, transition 인스턴스를 만들어서 적용 CATransition이란? Core Animation Transition은 단어 그대로 UIKit 보다 더 낮은 레벨인 Core Animation의 한 종류이며 특정 값을 세팅하여 tran..
1. ContainerView 활용 방법 - UINavigationView와 View hierarchy 2. ContainerView 활용 방법 - UIView를 present, dismiss 트랜지션 애니메이션 구현 방법 * 1번에서 구현한 뷰 계층 관계: VC1 VC1.view와 동일하도록 (꽉 차도록 설정) VC2.view에 containerView를 하나 만들어서 이 뷰를 show()메소드가 불릴때 위로 올라오도록 구현 present처럼 보여질 VC2 구현 필요한 UI 준비 present처럼 보여져야 하므로 containerView 제목을 표시할 titleLabel 버튼 클릭 시 push가 되어야 하므로 button import UIKit import SnapKit class VC2: UIView..
Modality란 사용자의 이전의 컨텍스트와 별개이며 종료하려면 명시적인 작업이 필요한 임시 모드로 컨텐츠를 표시하는 기술 Modal의 장점 modal view - 사용자들이 독립적인 작업이나 밀접하게 관련된 내용에 집중할 수 있도록 분리하는 기능 alert modal - 사용자들이 중요한 정보를 받고 필요한 경우, interaction할 수 있도록 하는 기능 Modal의 presentation style Sheet: 기존 콘텐츠를 부분적으로 덮고 커버되지 않은 모든 영역을 흐리게 처리하여, 기존 콘텐츠에 상호 작용을 방지하는 스타일 사용하는 경우 - 복잡한 작업을 수행할 수 없는 비 몰입형 모달 컨튼츠 버튼을 누르거나 swipe하여 modal view를 닫는 형태 Full Screen: 이전 콘텐츠가 ..
viewController.presentingViewController vs viewController.presentedViewController PresentingViewController '나'를 부르고 있는 viewController PresentedViewController '내가' 부르고 있는 viewController 사용 예시 func dismiss(viewController: UIViewController) { if presentedViewController === viewController { dismiss(animated: true) } } * 암기 방법: 시제의 '반대' presented: 과거지만, 최근에 불려진 대상을 지칭 presenting: 미래지만, 불려진 대상을 지칭
Modal이란? 다른 화면을 띄워서 시선을 끌게 만드는 방식 딱 눈에 들어와야 하는 컨텐츠를 담는데 사용 사용: ViewController객체.present(객체) Modal의 스타일에는 presentation과 Transition이 존재 둘 다, 이동시키는 ViewController가 아닌, 이동되는 ViewController의 속성값으로 지정 아래 storyboard에서 실습 presentation style 속성으로 지정 : "modalPresenationStyle = . " 전체 화면 덮는 경우: modalPresenationStyle = .fullScreen현재 뷰에 대응하여 새로운 뷰를 보여주는 방식: present를 호출하는 화면의 크기와 동일한 화면크기로 불려지는 경우: modalPrese..
- 네비게이션 컨트롤러를 주로 쓸 것(계층관계) 1. 프레젠테이션 방식 - UIViewController클래스를 상속받은 클래스에서의 화면전환 방법 1) 이동 present(_:animated:completion:) completion은 트레일링 클로저로 구현하며, 화면 전환이 완전 끝난 후에 호출해 주는 비동기 함수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import UIKit class ViewController: UIViewController { @IBAction func moveNext(_ sender: Any) { // 스토리 보드 객체 가져오기 (인자 : 이름, 읽어들일 위치) let storyboard: UIStoryboard? = UISt..