iOS手动控制界面旋转实践
手动控制界面旋转的操作,在做 iOS 横屏需求的时候常见。用系统默认方式自动旋转吧,不太灵活,想控制下顺序都费劲;但要是你手动下,想怎么转就怎么转,动画也更顺一点,体验提升挺的。
手动控制 iOS 界面旋转,主要靠UIViewController的几个生命周期方法,配合shouldAutorotate
、supportedInterfaceOrientations
这些 API 搞定。基本流程就是:你控制返回的方向,系统就听你的,嗯,乖得。
你可以在AppDelegate
里做个统一判断,也可以在某些页面上单独设置。比如一个视频播放页要横屏,其他页面都竖屏,那就页面内单独写逻辑。配合导航控制器用的时候记得特殊一下,防止导航栈方向不一致。
实战中也有坑,比如有时候旋转方向生效了,但布局没跟上。建议你加个layoutIfNeeded()
再调一次界面,或者直接加个过渡动画让用户感知旋转,这体验就上去了。
如果你也被 iOS 的自动旋转搞烦了,想要手动控制界面旋转,可以看看这篇文章:iOS 手动控制界面旋转,讲得挺清楚,配代码配,动手试试就知道了。
1.74MB
文件大小:
评论区