dismiss는 Swift에서 현재 표시된 화면(보통 모달 뷰)을 닫을 때 사용하는 메서드입니다. 모달로 표시된 화면을 닫거나 뷰 컨트롤러를 해제할 때 사용됩니다.
기본 사용예시
모달을 표시할 때는 present 메서드를 사용하고, 이를 닫을 때는 dismiss를 사용합니다.
self.dismiss(animated: true, completion: nil)
파라미터:
1. animated: true일 경우 애니메이션과 함께 화면을 닫습니다. false일 경우 애니메이션 없이 즉시 닫힙니다.
2. completion: 화면이 닫힌 후에 실행될 코드를 정의할 수 있는 클로저입니다. 특별히 추가 작업을 하지 않는 경우 nil로 설정할 수 있습니다.
전체적인 예시
다음은 모달 화면을 표시하고, 그 모달 화면에서 dismiss로 다시 이전 화면으로 돌아가는 예시입니다.
1. 모달 화면 표시하기
let viewControllerToPresent = UIViewController()
viewControllerToPresent.modalPresentationStyle = .fullScreen
self.present(viewControllerToPresent, animated: true, completion: nil)
2. 모달 화면에서 dismiss 사용하기
모달로 표시된 화면에서 이전 화면으로 돌아가려면 dismiss를 호출합니다.
@IBAction func closeButtonTapped(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
}
여기서 closeButtonTapped는 모달 화면에 있는 버튼을 눌렀을 때 호출되며, dismiss를 통해 모달을 닫습니다.
dismiss를 사용하는 위치
1. 모달 뷰를 닫을 때 주로 사용합니다.
2. View Controller의 뷰 계층을 종료할 때 사용됩니다.
추가 사용예시
1. 애니메이션 없이 닫기
self.dismiss(animated: false, completion: nil)
2. 닫은 후 추가 작업 수행
self.dismiss(animated: true) {
print("Modal view has been dismissed")
// 추가 작업을 여기에 정의
}
이 경우 모달이 닫힌 후 completion 클로저 안의 코드가 실행됩니다.
'programmer '프로그래머'' 카테고리의 다른 글
Description (0) | 2024.09.12 |
---|---|
indexPath (0) | 2024.09.11 |
for-in 반복문 사용방법 (0) | 2024.09.09 |
UISearchBar 속성 (0) | 2024.09.06 |
Layer 속성 (0) | 2024.09.05 |