我正在制作一个应用程序只是为了好玩,它似乎工作得很好,除了事实,当我希望它只在一个屏幕上的风景,它将保持肖像。如何制作它以便在加载时自动旋转到横向? 我已经尝试过了:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight ) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
然而,这似乎不起作用。只有当我旋转设备时,它才会旋转视图,然后它将保持在横向状态,但我希望它能够在加载时立即执行,而无需用户旋转设备以使其脱离纵向。有什么我想念的吗?谢谢你的帮助!如果您想从应用程序获得更多代码,我将非常乐意与您分享。
答案 0 :(得分:3)
在viewDidLoad方法和shouldautorotate方法中添加:
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
[[self view] setBounds:CGRectMake(0, 0, 480, 320)];
[[self view] setCenter:CGPointMake(160, 240)];
[[self view] setTransform:CGAffineTransformMakeRotation(M_PI / 2)];
答案 1 :(得分:0)
试试此代码
@interface UIViewController(ESUtils)
-(void)changeToPortrait;
@end
@implementation UIViewController(ESUtils)
-(void)changeToPortrait
{
//for will call a shouldAutorotateToInterfaceOrientation func
UIViewController *view = [[UIViewController alloc] init];
[self presentModalViewController:view animated:NO];
[self dismissModalViewControllerAnimated:NO];
[view release];
}
@end
答案 2 :(得分:0)
你想做两件事,
首先在界面构建器上,转到您想要在景观中查看的视图,并确保方向设置为横向(如果推断它将采用父项方向)。您可以在属性检查器的第4个选项卡上的模拟指标下找到它。
现在第二,该视图必须包含您发布的代码
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight ) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}