潜枭 2013-11-19 09:23 采纳率: 0%
浏览 1885

ios自动旋转出的神奇效果,2个月未解决

1、app有多个页面,但是只允许一个页面旋转,其余不允许旋转的页面添加如下代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return NO;
}

- (BOOL)shouldAutorotate
{
return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}

允许旋转的页面添加如下代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return (toInterfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}


- (BOOL)shouldAutorotate
{
return YES;
}


- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}

2、页面之间采用UINavigationController切换(push、pop)
self.window.rootViewController = _navigationController;

3、假设现在有3个页面,第2个页面允许旋转,1、3页面不允许旋转。

4、进行如下操作:
竖屏状态到2页面(portrait)
-> 将2页面旋转为横屏(landscape)
-> pop回1页面 或者 push到3页面
-> 神奇的事发生了,1、3页面本来是不允许横屏的,但是现在都变成了横屏,而这些页面都未做横屏适配,所以看起来很丑。

请教各路大神:从横屏的2页面到1、3页面时,怎么让1、3页面不旋转为横屏,保持进入2页面时的竖屏状态?
谢谢!!!!!
PS:这个问题我纠结2个月了,实在找不到合适的解决办法,调试发现:1、3页面的frame是在2页面调用pop或者push之后被改变的

  • 写回答

1条回答

  • ChrisyehGone 2015-08-12 09:16
    关注

    一般来说如果是横屏那就整个APP所有页面都是横屏,竖屏那就整个APP所有页面都是竖屏,遵循这个原则就不会遇到这个问题。
    你这个需求有点坑啊

    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题