我在实现设备定位方法时遇到问题。我正在实施它
如下
-(BOOL)shouldAutorotate{
return TRUE;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
我正在做appdelegate
self.window.rootViewController = self.splitViewController;
我希望我的应用能够适用于所有方向。但没有一个方向正在发挥作用
正确。任何帮助?我的应用程序是针对IOS 4.3的,但它也适用于IOS 5和6。
答案 0 :(得分:3)
首先,在AppDelegate中,写下这个。这非常重要
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return (UIInterfaceOrientationMaskAll);
}
此外,很大程度上取决于您的UIViewController嵌入在哪个控制器中。
例如,如果它在UINavigationController中,那么你可能需要将UINavigationController子类化为覆盖这样的方向方法。
子类化UINavigationController(层次结构的顶层视图控制器将控制方向。)需要将其设置为self.window.rootViewController。
- (BOOL)shouldAutorotate
{
return self.topViewController.shouldAutorotate;
}
- (NSUInteger)supportedInterfaceOrientations
{
return self.topViewController.supportedInterfaceOrientations;
}
从iOS 6开始,UINavigationController不会要求其UIVIewControllers提供方向支持。因此我们需要将其子类化。