我有一个只需要一个屏幕自动旋转的应用程序,第一个和最后一个屏幕应该是肖像。我可以使用以下方式让最后一个屏幕停止旋转:
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
但是这在第一个屏幕上不起作用,我使用的是一个带有UINavigationController
的故事板(我想这可能与它有关?)
感谢任何帮助。感谢
答案 0 :(得分:1)
您可能需要对UINavigationController
进行分组,您应该使用它而不是标准UINavigationController
。
我已经在我的项目中完成了这项工作,因此这关注了UIViewController
个人类的自定义方向:
#import <UIKit/UIKit.h>
@interface UIOrientationController : UINavigationController { }
@end
@implementation UIOrientationController
- (BOOL)shouldAutorotate {
return [self.topViewController shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations {
return [self.topViewController supportedInterfaceOrientations];
}
@end
注意:如果在最终代码中成为要求,您可以使用覆盖更多方法来扩展此类。