UIAdaptivePresentationController是iOS 13引入的新组件,用于在不同展示风格下自动适配视图控制器的展示方式。通过设置presentationController的delegate属性,可以根据当前环境和展示风格来自定义展示效果。
要利用UIAdaptivePresentationController适配不同的展示风格,可以按照以下步骤操作:
override func viewDidLoad() {
super.viewDidLoad()
self.presentationController?.delegate = self
}
extension YourViewController: UIAdaptivePresentationControllerDelegate {
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
// 当展示控制器被dismiss时调用
}
func presentationControllerShouldDismiss(_ presentationController: UIPresentationController) -> Bool {
// 是否允许展示控制器被dismiss
return true
}
func presentationControllerWillDismiss(_ presentationController: UIPresentationController) {
// 将要dismiss展示控制器时调用
}
func presentationControllerWillPresent(_ presentationController: UIPresentationController) {
// 将要展示控制器时调用
}
}
func presentationControllerDidAttemptToDismiss(_ presentationController: UIPresentationController) {
if presentationController.adaptivePresentationStyle == .pageSheet {
// 切换到全屏展示
presentationController.presentedViewController.modalPresentationStyle = .fullScreen
} else {
// 切换到弹出框展示
presentationController.presentedViewController.modalPresentationStyle = .pageSheet
}
}
通过以上步骤,可以利用UIAdaptivePresentationController来适配不同的展示风格,从而实现更灵活的展示效果。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。