불금? 어림없지.
오늘도 달려보자
화면 전환
우리는 예전에 Segue를 연결하는 방법을 사용해 본적이 있다
스토리보드 상에서 왼쪽 연두색 버튼을 클릭한 후 우클릭을 누른 채 빨간색 뷰컨트롤러에 스크롤을 당겨서 놓으면
Action Segue 메뉴가 나타난다
빨간색 뷰컨트롤러에서 파란색 뷰컨트롤러로 똑같은 방법으로 Segue를 설정했다
어떻게 될까?
화면 전환은 가능하다
하지만
뷰위의 뷰가 쌓이고 뷰위의 뷰가 쌓이면서 무한으로 뷰가 쌓이는 현상이 발생한다
어떻게 해야할까?
Navigation Controller를 활용하자
뷰컨트롤러를 선택하고 오른쪽 하단에 embeded 버튼을 눌러 Navigation Controller를 embeded in 하자
embeded in 한 후 다시 Segue 설정을 하면
Segue를 설정한 빨간색 뷰컨트롤러에 Back 버튼이 생긴것을 확인할 수 있다
Action Segue를 설정할 때 Show 방식과 Present Modally 방식이 있다
Show vs Modal
Show : 1. Push - Pop
2. 오른쪽에서 왼쪽으로 화면 전환
Modal : 1. Present - Dismiss
2. 아래서 위로 화면 전환
Modal의 특성
위의 Modal이 적용된 View를 보면 화면이 꽉차지 않은 것을 볼 수 있다
화면을 꽉차게 하려면 어떻게 해야할까?
Modal 설정된 SegueWay 선택 후 Inspector 영역에서 Presentation 부분을 Full Screen으로 변경해주자
화면이 꽉차는 것을 볼 수 있다
Inspector 영역에서 Transition을 설정하면 화면 전환의 다양한 기능을 확인할 수 있다
Cover Vertical - default 기본 설정
Flip Horizontal - 카드 뒤집기 효과
Cross Dissolve - 시간 간격을 두고 나타나기 효과
Partial Curl - 페이지 넘기기 효과
팝업창 만들어 보기
Navigation Controller에서 Tab Bar Controlle를 Embed in 한 후 버튼을 만들고
View controller를 하나 만들어서 버튼과 Segue 설정을 Present Modally로 설정했다
새로운 ViewController에 Background Color를 custom 설정하여 Opacity를 21%로 설정한 후
새로운 View를 추가해서 ViewController 중앙에 오도록 Constraints를 설정했다
Modal의 Presentation 설정은 Over Full Screen으로 했다
Full Screen vs Over Full Screen
Full Screen - presentingViewController의 view들이 계층에서 사라진다
새로 띄운 viewController의 배경을 투명하게 해도 아무것도 보이지 않게 된다
Over Full Screen - presentingViewController의 view들이 계층에서 사라지지 않고 살아있다
새 ViewController의 배경을 투명하게 한다면 이전 화면의 모습이 보이게 되는 것이다
'Tech > iOS' 카테고리의 다른 글
[iOS] Day13 - ViewController 생명주기 (0) | 2022.07.16 |
---|---|
[iOS] Day 12 - UserDefaults (0) | 2022.07.15 |
[iOS] Day 11 - Storyboard 여러개 지정, Open Source Library in Xcode (0) | 2022.07.14 |
[iOS] Day 10 - Tag (0) | 2022.07.13 |
[iOS] Day 9 - Priority (0) | 2022.07.12 |