tha*_*rai 2 iphone objective-c orientation uiinterfaceorientation ios
我的应用程序是支持iOS 6的基于导航的应用程序.除了视图控制器之外,所有其他应用程序仅支持纵向模式.仅特定视图控制器必须支持横向和纵向方向.
我搜索了很多问题,但没有一个答案适合我.如果有人知道,请指导我
我在Project - > Targets - > Summary - > Supported orientation 中将方向设置为Portait
首先,如果要为iOS6 制作应用程序,应该使用UIViewController文档中提供的iOS6方法.shouldAutorotateToInterfaceOrientationiOS6中不推荐使用方向法,iOS6的替代方法是shouldAutoRotate.如果您的应用程序也支持iOS5,您应该只使用旧方法.
第二,如果您UINavigationcontroller在应用程序中使用并且需要具有不同的界面方向,那么navigationController可能会破坏应用程序中的界面方向.可能的解决方案(对我有用)是实现自定义UINavigationController并覆盖该自定义UINavigationController类中的接口方向方法,这将使viewControllers根据您设置的方向旋转,因为您的控制器是从中推出的UINavigationController.不要忘记在特定的viewController中添加这些方法.
CustomNavigationController.h
@interface CustomNavigationController : UINavigationController
@end
Run Code Online (Sandbox Code Playgroud)
CustomNavigationController.m
@implementation CustomNavigationController
//overriding shouldRotate method for working in navController
-(BOOL)shouldAutorotate
{
return [self.topViewController shouldAutorotate];
}
-(NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.topViewController preferredInterfaceOrientationForPresentation];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2067 次 |
| 最近记录: |