首先 - 我读了所有类似的主题,但没有为我工作。 我有几个视图控制器。我用那段代码改变了它们:
- (void)flipToAzbukaMenu {
AzbukaMenuController *aAzbukaMenu = [[AzbukaMenuController alloc] initWithNibName:@"AzbukaMenu" bundle:nil];
[self setAzbukaMenuController:aAzbukaMenu];
[aAzbukaMenu release];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:window cache:NO];
[viewController.view removeFromSuperview];
[azbukaArcadeController.view removeFromSuperview];
[self.window addSubview:[azbukaMenuController view]];
[UIView commitAnimations];
}
此外,我在plist中有正确的键,允许我以横向模式启动应用程序。当应用程序启动时它具有正确的方向(横向),但是当我改变我的视图时它变成了肖像,并且仅在旋转设备270度(不是90 lol)之后再次成为风景。如何强制应用以横向模式显示所有视图?
UPD:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if ((interfaceOrientation==UIInterfaceOrientationPortrait)||(interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown))
{
return NO;
}
if ((interfaceOrientation==UIInterfaceOrientationLandscapeLeft)||(interfaceOrientation==UIInterfaceOrientationLandscapeRight))
{
return YES;
} else {
return YES;
}
}
答案 0 :(得分:0)
有两种横向模式和两种纵向模式。一个是景观,另一个是景观。例如,如果你从左侧的风景转换到其中一种肖像模式(比方说,底部带有主页按钮),你将获得270度旋转。
至于如何强制你的观点留在风景中(选择两种模式中的一种),只需执行以下操作:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
这将始终导致该视图以横向左方向显示。