gpt4 book ai didi

ios - 除了模态视图 Controller 之外的所有 View Controller 中的纵向方向

转载 作者:可可西里 更新时间:2023-11-01 05:01:17 26 4
gpt4 key购买 nike

我正在使用代码呈现模态视图:

 [self presentViewController:movieViewController animated:YES completion:^{
// completed
}];

在 movieViewController 中, Controller 被关闭:

[self dismissViewControllerAnimated:YES completion:^{
// back to previous view controller
}];

目前,我所有的 View Controller 都可以在纵向和两个横向方向上查看。

除了模态视图 Controller ,我如何将所有 View Controller 限制为纵向?因此模态视图 Controller 可以在三个方向上看到,而其他所有东西都在一个方向上。

最佳答案

在 appDelegate 中:

- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return UIInterfaceOrientationMaskAllButUpsideDown;
}

特殊的 UINavigationController 子类(如果你使用导航 Controller )有以下方法:

- (NSUInteger)supportedInterfaceOrientations {
if (self.topViewController.presentedViewController) {
return self.topViewController.presentedViewController.supportedInterfaceOrientations;
}
return self.topViewController.supportedInterfaceOrientations;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return self.topViewController.preferredInterfaceOrientationForPresentation;
}

每个 View Controller 应该返回它自己支持的方向和首选的呈现方向:

- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationPortrait;
}

我的应用程序以纵向模式运行,但视频播放器以模态 vc 方式打开:

 - (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAllButUpsideDown;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft;
}

它非常适合我,希望对您有所帮助!

关于ios - 除了模态视图 Controller 之外的所有 View Controller 中的纵向方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com