UISplitViewController 始终在 iPad 纵向模式下显示主视图 iOS 9
UISplitViewController always show master view in iPad portrait mode iOS 9
我正在使用 UISplitViewController 构建一个通用应用程序并面向 iOS 9 及更高版本。应用语言为 Objective-C.
开始使用 Xcode Master/Detail 模板并以标准方式设置我的视图后,我意识到如果我在屏幕上保留主视图,应用程序会更好次(iPad),包括设备处于纵向模式时。然而,无论我多么努力地搜索,我都找不到任何东西来帮助我了解这是如何实现的。我知道这是以前使用 splitViewController:shouldHideViewController:inOrientation:
实现的
但是,此方法在 iOS 9 中已弃用,我不知道用什么替代它以及为什么。我查看了 UISplitViewController 的新委托方法,发现它们完全缺乏任何级别的直观性。
我非常感谢有关替换 splitViewController:shouldHideViewController:inOrientation 的一些指示:以及如何使用它来保持主视图始终显示在 iPad。
子类 UISplitViewController
无需专门跟踪方向变化:主图和细节仍将按顺序显示在 iPhone 纵向模式下,大多数 iPhone 横向模式。
preferredDisplayMode:.allVisible
仅影响两个视图 可以 同时可见的模式。
Swift
class SplitViewController: UISplitViewController {
override func viewDidLoad() {
super.viewDidLoad()
preferredDisplayMode = .allVisible
}
}
Obj-C
- (void)viewDidLoad {
[super viewDidLoad];
self.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
}
iPad 人像 & iPhone 8 Plus 风景
如果有人最近查看此主题,.allVisible 在 IOS14 中已弃用,请使用:splitVC.preferredDisplayMode = .oneBesideSecondary
aSplitViewController.preferredDisplayMode = .oneBesideSecondary
我正在使用 UISplitViewController 构建一个通用应用程序并面向 iOS 9 及更高版本。应用语言为 Objective-C.
开始使用 Xcode Master/Detail 模板并以标准方式设置我的视图后,我意识到如果我在屏幕上保留主视图,应用程序会更好次(iPad),包括设备处于纵向模式时。然而,无论我多么努力地搜索,我都找不到任何东西来帮助我了解这是如何实现的。我知道这是以前使用 splitViewController:shouldHideViewController:inOrientation:
实现的但是,此方法在 iOS 9 中已弃用,我不知道用什么替代它以及为什么。我查看了 UISplitViewController 的新委托方法,发现它们完全缺乏任何级别的直观性。
我非常感谢有关替换 splitViewController:shouldHideViewController:inOrientation 的一些指示:以及如何使用它来保持主视图始终显示在 iPad。
子类 UISplitViewController
无需专门跟踪方向变化:主图和细节仍将按顺序显示在 iPhone 纵向模式下,大多数 iPhone 横向模式。
preferredDisplayMode:.allVisible
仅影响两个视图 可以 同时可见的模式。
Swift
class SplitViewController: UISplitViewController {
override func viewDidLoad() {
super.viewDidLoad()
preferredDisplayMode = .allVisible
}
}
Obj-C
- (void)viewDidLoad {
[super viewDidLoad];
self.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
}
iPad 人像 & iPhone 8 Plus 风景
如果有人最近查看此主题,.allVisible 在 IOS14 中已弃用,请使用:splitVC.preferredDisplayMode = .oneBesideSecondary
aSplitViewController.preferredDisplayMode = .oneBesideSecondary