任何人都可以确认[[UIDevice currentDevice] setOrientation:UIDeviceOrientationPortrait];
会让Apple拒绝您的应用。
是否有可用的替代品?
答案 0 :(得分:4)
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientation]是一个私有API,你可以发现签名只是只读的(参见here)。
如果要将设备方向设置为纵向或其他模式,则应覆盖shouldAutorotateToInterfaceOrientation:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIDeviceOrientationPortrait);
}
答案 1 :(得分:1)
您可以更改框架并将变换应用于关键窗口,并更改状态栏方向(公共)以模拟更改方向。
答案 2 :(得分:0)
您可以在app plist中添加UIInterfaceOrientation
答案 3 :(得分:0)
您可以尝试使用此代码。它在我的应用程序上完美运行
UIApplication* application = [UIApplication sharedApplication];
if (application.statusBarOrientation != UIInterfaceOrientationPortrait)
{
AppDelegate* app = [[UIApplication sharedApplication] delegate];
UIViewController *c = [[UIViewController alloc]init];
[app.viewController presentModalViewController:c animated:NO];
[app.viewController dismissModalViewControllerAnimated:NO];
[c release];
}
其中app.viewController是应用程序的rootViewController