0

UITableView我在主屏幕上有一个应用程序。我使这个视图始终处于横向。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
     return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

如果用户选择一行,他将被带到一个UIPageViewController视图。第二个视图可以旋转为横向和纵向。问题是当我处于纵向模式UIPageViewController并按下返回按钮时,现在应该始终处于横向模式的第一个视图是纵向的。在我旋转它之后,它进入风景并停留在那里。

我想知道是否有办法让我的主屏幕在我回到它时自动进入横向。

4

6 回答 6

2

尝试以下

  1. 在横向模式下的界面构建器中的应用程序中创建主屏幕的视图。
  2. 在界面类中创建 uiview outlet 并将其连接到上面的视图。
    IBOutlet UIVIew *myView;
  3. 然后在viewDidLoad方法中设置这个 self.view = self.myView;
于 2012-05-15T10:46:17.610 回答
1

如果您想以特定方向制作屏幕,则可以创建一个 CustomNavigation 控制器,然后将其呈现在您的应用程序中。您只需在此返回supportedInterfaceOrientations。如果您想了解更多详细信息和示例代码,请单击此处

于 2015-05-24T12:43:54.017 回答
0

正如视图控制器编程指南中所说,您可以拥有一个备用横向界面,并且在从任何其他视图进入主屏幕之前,您可以检查方向并将相应的界面推送到屏幕上

阅读此SO 问题和答案,以更好地了解在横向启动应用程序。还请阅读我指出的上述苹果编程指南。

于 2012-05-15T10:13:02.237 回答
0

如果您使用UINavigationViewController方法(pushViewController:animated:popViewControllerAnimated:),视图将继承前一个视图的方向。

另一方面,如果你使用presentModalViewController:animated:anddismissModalViewControllerAnimated:方法,一切都会完美运行。希望这有帮助!

于 2012-05-15T10:41:22.793 回答
0

shouldAutorotateToInterfaceOrientation回去的时候手动打电话。你不能强迫“真正的”方向改变,这是操作系统的事情。

于 2012-05-15T09:48:48.840 回答
0

使用它,将 UIInterfaceOrientationLandscapeLeft 更改为所需的方向类型,如 UIDeviceOrientationPortrait、UIDeviceOrientationLandscapeLeft 等。

NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
于 2016-12-29T08:59:37.620 回答