And*_*iih 8 iphone objective-c uiinterfaceorientation
我想要获得一个iPhone应用程序,它只需要导航控制器堆栈中的每一次推送或弹出来改变方向.
基本上第一个视图是肖像,第二个视图是第三个肖像(是的我知道这不太理想,但那是设计,我必须实现它).
我已经在这里
做了各种建议.... 如何在没有设备自动旋转的情况下检测iPhone上的旋转?
将新视图推送到UINavigationViewController时强制纵向方向
是否有记录的方法来设置iPhone方向?
但没有取得全部成功.
设置链接3.1.2我阅读上面链接的文章似乎表明,如果我的肖像视图推送视图
,键盘将在需要时以正确的方向显示.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return ((interfaceOrientation == UIInterfaceOrientationLandscapeRight) );
}
这种方法的问题在于,如果没有状态栏,状态栏转换会很奇怪和丑陋 - 每次更改都会在页面上隐藏阴影.
所以.我错过了什么
1)我认为在3.1.2(或可能更早)中,应该只是通过推动控制器来提供所需的方向,我是错误的吗?
2)是否有另一种方法可以使键盘以正确的方向显示.
3)未记录的API是否可以调用(请不要!)
你不应该用它[UIViewController shouldAutorotateToInterfaceOrientation:]来触发方向改变;它只是让系统知道是否允许自动轮换。您仍然应该更新它以指定允许的方向。
如果要在显示特定视图时更改方向,则应该在每个强制特定方向的视图控制器的重写方法[UIApplication setStatusBarOrientation:animated:]内调用。[UIViewController viewWillAppear:]当视图被推入堆栈以及从堆栈中弹出时,这将导致变化。确保调用super您的覆盖方法。
如果您正在做的话,这也是更改状态栏显示方式的正确位置。
| 归档时间: |
|
| 查看次数: |
10612 次 |
| 最近记录: |