我使用以下代码设置设备方向
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];
当我使用时,我收到了警告,我找到了以下代码来修复该警告。
@interface UIDevice (MyPrivateNameThatAppleWouldNeverUseGoesHere)
- (void) setOrientation:(UIInterfaceOrientation)orientation;
@end
现在我想知道的是......
应用程序商店是否可以接受此代码在应用程序中?
感谢您的帮助!
答案 0 :(得分:6)
答案 1 :(得分:2)
如果您尝试以编程方式旋转视图,则应查看shouldAutorotateToInterfaceOrientation,如果您只是希望App具有特定方向,请尝试使用plist中设置的UIInterfaceOrientation。
答案 2 :(得分:0)
而不是设置方向,正确的方法是让用户在用户旋转手机时监听应用程序,然后返回YES或NO以指示应用程序实际应该旋转(即始终返回NO如果您希望应用程序始终保持其初始状态。)只要用户更改方向,就会自动调用shouldAutorotateToInterfaceOrientation:
方法。
例如,在您的视图控制器中,实现该方法仅允许手机在横向右/左侧使用:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (UIDeviceOrientationIsLandscape) { return YES };
return NO;
}
您还需要将UIInterfaceOrientation
标记添加到应用的info.plist文件中,并使用值UIInterfaceOrientationLandscapeRight
来设置应用的默认方向(因此不会以纵向模式启动)。否则,默认值为纵向,用户必须倾斜手机才能使其达到预期的方向。