有没有办法在UIViewController对象启动时设置它的自动旋转行为? 我希望它永远不会旋转,所以我尝试了这个:
UIViewController *myViewController = [[UIViewController alloc]init];
myViewController.shouldAutorotate = NO;
似乎是合乎逻辑的,但它不起作用。收到错误消息:
没有setter方法'setShouldAutorotate:'用于分配属性
或者只能通过子类化吗?
答案 0 :(得分:0)
你应该这样:
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
返回值
指定支持哪些方向的位掩码。 有关有效的位掩码值,请参阅UIInterfaceOrientationMask。价值 此方法返回的值不能为0.
讨论
当用户更改设备方向时,系统 在根视图控制器或最顶层的控件上调用此方法 查看填充窗口的控制器。如果视图控制器支持 新的方向,窗口和视图控制器旋转到 新方向。仅在视图控制器中调用此方法 shouldAutorotate方法返回YES。
重写此方法以报告视图的所有方向 控制器支持。视图控制器的默认值 支持的接口方向设置为 UIInterfaceOrientationMaskAll用于iPad的习语和 用于iPhone习语的UIInterfaceOrientationMaskAllButUpsideDown。
系统与视图控制器支持的方向相交 使用应用程序支持的方向(由Info.plist确定 文件或应用程序委托 application:supportedInterfaceOrientationsForWindow:method)to 确定是否旋转。