개발/iOS

iOS UIViewController를 스와이프로 닫지 못하도록 하려면

장모 2021. 3. 1. 16:00

 iOS 13 에선 기본으로 sheet 스타일로 표시가 된다. 이렇게 표시가 되면 스와이프로 화면을 닫을 수 있는데, 이를 막으려면 viewController의 isModelInPresentation을 변경하면 된다.

 

if #available(iOS 13.0, *) {
  isModalInPresentation = true
}

 

이렇게 해도 스와이프가 아예 안되는건 아니고 튕기는 것을 볼 수 있는데, 이때 적절한 메시지를 표시하려면 UIAdaptivePresentationControllerDelegate의 presentationControllerDidAttemptToDismiss 를 구현하면 된다. 

 

 

developer.apple.com/documentation/uikit/uiadaptivepresentationcontrollerdelegate

 

Apple Developer Documentation

 

developer.apple.com