主要的现象就是如标题所述的那样,比如工程整体要求强制竖屏,然后只有一个屏幕需要强制横屏,此时发现进入强制横屏的页面后再退出到上一级页面,旋转屏幕,屏幕不会动,但是status bar却是会动的。
跟踪半天,发现了最终的问题,是因为在页面中pop出来一个菜单项,自定义的window+controller实现的,但是忘记在这个controller中复写对应的方法来设置屏幕方向了。比如需要强制竖屏,加上后即可。
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
if (是需要强制竖屏的设备) {
return UIInterfaceOrientationMaskPortrait;
}
return UIInterfaceOrientationMaskAll;
}