【发布时间】:2011-05-19 17:45:19
【问题描述】:
在我的信息列表中,我已将支持的界面方向 (iPad) 定义为所有方向,并且它可以工作。唯一的问题是,如果我以横向模式开始,它会以纵向模式开始,但如果我旋转然后再旋转回来,它就会修复。 那么我怎样才能让它适应启动方向呢? 谢谢。
【问题讨论】:
标签: objective-c cocoa-touch ios ipad uiinterfaceorientation
在我的信息列表中,我已将支持的界面方向 (iPad) 定义为所有方向,并且它可以工作。唯一的问题是,如果我以横向模式开始,它会以纵向模式开始,但如果我旋转然后再旋转回来,它就会修复。 那么我怎样才能让它适应启动方向呢? 谢谢。
【问题讨论】:
标签: objective-c cocoa-touch ios ipad uiinterfaceorientation
您可以通过在 didFinishLaunchingWithOptions: 或视图控制器的 viewWillAppear: 中实现以下内容来强制您需要的方向。
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:NO];
【讨论】:
作为根控制器通过[window addSubview:viewController.view]; 安装的UIViewController 应该实现shouldAutorotateToInterfaceOrientation 函数并对所有支持的方向返回YES。
iPad 以纵向方向启动视图,然后调用 willRotateToInterfaceOrientation 函数旋转所有视图,持续时间为 0。
【讨论】:
我注意到主 .plist 文件中界面方向的顺序也很重要。例如http://monosnap.com/image/jJeImyVp6G3Mq1uXLSAVRA0te2VwgJ 表示在启动时应用程序将是横向的,并且主页按钮在右侧。
【讨论】: