Ale*_*gel 4 iphone objective-c
我有一个TabBar基础应用程序,它仅支持一个特殊视图(UINaviagtionController的根视图)的Landscape方向.现在我想为此导航控制器强制所有其他视图的纵向方向.我试过用
[[UIDevice currentDevice] setOrientation:UIDeviceOrientationPortrait];
这很好用,但这段代码是私人api调用,我不能冒着拒绝app的风险.
我还试图手动旋转下一个视图但这只旋转视图而不是导航或标签栏.
是否有类似的方法来强制改变方向?
目前无法做到这一点.看看这个问题,我有同样的问题.使用tabbar应用程序,您必须拥有自动旋转的所有内容,或者没有任何内容.您可以找到让shouldAutorotate在每个视图上以不同方式回答的方法,但实际上这不起作用.我不知道这是一个预期的行为还是一个错误,无论如何,我所知道的唯一可行的解决方案(不使用未记录的API)是自己管理轮换,而不是依赖于自动旋转.
换句话说,这意味着您需要启动方向通知(查看UIDevice,有方法可以启动和停止有关设备方向的通知),然后为每个要旋转的视图注册为观察者,并手动管理方向,如下所示(不记得我在哪里得到这个片段):
// Rotates the view.
CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2);
self.view.transform = transform;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4698 次 |
最近记录: |