概述
基本上苹果提供的控制器转场都能满足我们的需求,比如反转、淡入淡出、翻页、从下往上显示等等,这都可以通过设置控制器实现。
但如果有一些特殊的需求,比如只在一小块区域显示新控制器的内容。当然你也可以通过一些复杂的方式在原本的控制器上自定义一个小View来实现,但那样会增加原控制器的业务负担。
实际上,我们可以通过自定义UIPresentationController来控制新controller的展示形式,这只需要在转场相关的代码部分设置一下代理,原控制器再遵守以下该转场控制器的协议就可以了。


具体
let accountVC = AccountController()
accountVC.modalPresentationStyle = .custom
accountVC.view.backgroundColor = UIColor.systemOrange
accountVC.transitioningDelegate = self
present(accountVC, animated: false) {
//TODO:
}
给底层的控制器写个拓展,遵守协议:
这里的底层指的是 弹出的上层控制器的上级控制器
extension

本文介绍了如何使用UIPresentationController自定义控制器转场,以满足特殊展示需求,避免增加原控制器的业务负担。通过扩展底层控制器并遵循协议,以及创建UIPresentationController子类,可以轻松控制新controller的展示效果。
最低0.47元/天 解锁文章
654

被折叠的 条评论
为什么被折叠?



