iOS How to present a view as modal
운영 체제: macOS Monterey 12.5
사용 버전: Xcode 13.4.1, Swift, UIKit, Storyboard
모달(Modal)은 밑에서 올라오는 시트(sheet)입니다. 그래서 사용자가 현재 보고 있는 화면을 나가지 않고 새로운 화면을 볼 수 있으며, 언제든지 밑으로 내리는 행동을 통해 원래 뷰로 돌아올 수 있습니다.
먼저 storyboard로 들어갑니다.
사용 버전: Xcode 13.4.1, Swift, UIKit, Storyboard
iOS How to present a view as modal을 알아보겠습니다.
모달(Modal)은 밑에서 올라오는 시트(sheet)입니다. 그래서 사용자가 현재 보고 있는 화면을 나가지 않고 새로운 화면을 볼 수 있으며, 언제든지 밑으로 내리는 행동을 통해 원래 뷰로 돌아올 수 있습니다.
먼저 storyboard로 들어갑니다.
두 개의 View Controller가 존재하는데요.
왼쪽 화면의 버튼을 누르면 모달로 오른쪽 화면이 띄워지게 해보겠습니다.
3 가지 방법이 존재합니다.
1. 코드로 띄우기.
2. View Controller에 Segue를 연결 후, 코드로 띄우기.
3. Button에 Segue를 연결.
하나하나 봅시다.
1. 코드로 띄우기.
버튼이 있는 ViewController 파일로 갑니다.
18 번째 줄처럼 버튼과 연결한 IBAction 함수에 컨트롤러를 불러온 다음에
present를 해줍니다.
실행해 봅니다.
제가 원하는 대로 실행이 되지 않는군요.
스토리보드에 있는 컨트롤러를 불러온다고 코드로 알려줘야 합니다.
스토리보드로 가서 Storyboard ID에 SecondView라고 적어줍니다.
ViewController.swift 파일로 갑니다.
18 번째 줄을 다음과 같이 변경합니다.
storyboard에서 방금 적은 Storyboard ID를 활용하여 ViewController를
가져옵니다.
instantiateViewController를 사용합니다.
실행해 봅니다.
짜잔.
2. View Controller에 Segue를 연결 후, 코드로 띄우기.
Main.storyboard로 갑니다.
View Controller에 손을 대고 ctrl 키를 누르며 연결할 화면으로 드래그를
합니다.
그럼 아래와 같이 줄이 생깁니다.
마우스를 때면, 다음과 같은 선택 창이 나옵니다. Present Modally를 누릅니다.
그럼 다음과 같은 화살표가 화면 사이에 생깁니다. 이 화살표가 Segue입니다.
Segue에 이름을 정해줍니다.
Segue를 누르고 Show the Attributes inspector를 누릅니다.
Identifier에 이 Segue의 이름을 정해줍니다.
저는 ViewToSecondViewSegue로 정했습니다.
ViewController.swift에 18 번째 줄처럼 버튼을 연결합니다.
performSegue로 화면 전환을 실행합니다. withIdentifier에는 위에서 설정한
Segue 이름을 적습니다.
실행해 봅시다.
짜잔.
3. Button에 Segue를 연결.
Main 스토리보드를 엽니다.
버튼에서 ctrl 키를 누르며 드래그를 해서 다음 뷰에 연결시킵니다.
마우스를 때면 다음과 같이 선택 창이 나옵니다. Present Modally를 누릅니다.
이 상태는 코드에서 뭘 해줄 필요가 없습니다.
바로 실행합니다.
짜잔.
지금까지 3 가지 방법으로 모달을 띄우는 방법을 알아보았습니다.
끝.
카테고리: iOS
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.