我正在使用带有这些值的UISplitViewController:
splitViewController.preferredPrimaryColumnWidthFraction = 0.4
splitViewController.minimumPrimaryColumnWidth = 320
splitViewController.maximumPrimaryColumnWidth = 1000
我无法理解为什么。
鉴于两种设备的屏幕尺寸:
iPhone 6: 375 x 667
iPhone 6 Plus: 414 x 736
736 x 0.4 = 294.4 ,仍然小于 320
为什么它会在iPhone Plus的环境中显示两个控制器?
更新:
看起来preferredPrimaryColumnWidthFraction
和minimumPrimaryColumnWidth
与导致拆分的阈值宽度无关。它们只是定义了第一个控制器的宽度,以防两个控制器都显示出来。
我现在正在寻找一种方法来防止iPhone Plus上的分割,因此它的行为与iPhone非Plus相同。
答案 0 :(得分:0)
另一种方式:
首先在不同设备上检查您当前的模式。
- (void)splitViewController:(UISplitViewController *)splitViewController willChangeToDisplayMode:(UISplitViewControllerDisplayMode)displayMode {
if (displayMode == UISplitViewControllerDisplayModePrimaryHidden) {
NSLog(@"Detail view is visible");
} else if (displayMode == UISplitViewControllerDisplayModeAllVisible) {
NSLog(@"both are visible");
}
}
然后设置您的require preferredMode。