当嵌入自定义容器视图控制器和 UISplitViewController 时,内容位于导航栏下方
Content falls beneath navigation bar when embedded in custom container view controller and UISplitViewController
我正在使用 UISplitViewController 和 UIContainerView,如图所示。
显示这个的代码是:
self.slidingViewController.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SplitContainerVC"];
很确定容器视图的自动布局是准确的。
为什么我的内容视图(搜索栏等)在 UINavigation bar
下方?请看附图
我已经删除了以下代码并且它的工作正常:
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
return NO;
}
但是我需要上面的代码。这背后有什么问题?
从 iOS 8 开始,您应该使用 preferredDisplayMode。由于 shouldHideViewController
在 iOS8.
中已弃用
要以纵向模式显示两个视图控制器,请执行以下操作:
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
希望对您有所帮助!
我正在使用 UISplitViewController 和 UIContainerView,如图所示。
显示这个的代码是:
self.slidingViewController.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SplitContainerVC"];
很确定容器视图的自动布局是准确的。
为什么我的内容视图(搜索栏等)在 UINavigation bar
下方?请看附图
我已经删除了以下代码并且它的工作正常:
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
return NO;
}
但是我需要上面的代码。这背后有什么问题?
从 iOS 8 开始,您应该使用 preferredDisplayMode。由于 shouldHideViewController
在 iOS8.
要以纵向模式显示两个视图控制器,请执行以下操作:
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
希望对您有所帮助!