iPhone开发【8】多视图技术总结一ModalView模态视图

模态视图的交互方式,在 iOS 里算是比较经典的那一类。presentViewController一上来,直接盖住底下的页面,用户的注意力立马集中,适合一些必须确认或独立完成的操作。

像登录弹窗、提示确认、填写信息这些场景,用模态视图再合适不过了。代码也不复杂,Swift 和 Objective-C 的写法都挺清爽。比如:

let modalVC = storyboard?.instantiateViewController(withIdentifier: "ModalViewController")
self.present(modalVC!, animated: true)

样式方面,全屏页面板是最常用的两种。全屏就像你直接跳了个新界面,页面板在 iPad 上体验会更友好一点,像弹个浮窗。

关闭的时候记得用dismiss。如果你模态视图关闭后做点事,可以搞个代理出来回传事件,挺实用。

动画效果?可以自己玩,自定义过渡动画,UIViewControllerAnimatedTransitioning协议拿来搞定。再花点心思,交互做得漂漂亮亮。

而且苹果也了一些不那么“盖死全屏”的策略,比如UIModalPresentationOverCurrentContext,适合弹个小面板出来又不想打断当前页面。

手势关闭这个点也别错过,从 iOS 8 开始就可以加手势识别器让用户滑动关闭了,提升体验的好办法。

要注意的点是别滥用。模态视图太多会让用户迷路,最好就一件事说清楚,简洁明了,别搞得像迷宫一样。

如果你还想深入了解多视图切换的方式,可以看看iPhone 开发多视图切换代码这篇,讲得也挺细的。

zip 文件大小:32.35KB