본문 바로가기

programmer '프로그래머'

스위프트 dismiss

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