【问题标题】:Hide UITabBar in UITabBarController with autolayout使用自动布局在 UITabBarController 中隐藏 UITabBar
【发布时间】:2017-05-16 15:53:38
【问题描述】:
我正在尝试从UITabBarController 中隐藏标签栏。
这样就成功隐藏了标签栏:
self.tabBar.hidden = true
但是,我现在在标签栏所在的位置有一个黑色的“空白点”。
我在 SO 上看到过一些解决这个问题的方法,但是他们直接修改了框架,并没有考虑到自动布局。
如何使用自动布局拉伸主视图以填充屏幕的其余部分?
【问题讨论】:
标签:
cocoa-touch
autolayout
uitabbarcontroller
uitabbar
ios-autolayout
【解决方案1】:
通常是因为,控制器视图不允许在底栏下方延伸。您可以通过
启用此功能
self.edgesForExtendedLayout = UIRectEdgeBottom;
【解决方案2】:
您希望隐藏标签栏的视图控制器应覆盖该变量:
override var hidesBottomBarWhenPushed: Bool {
get {
return navigationController?.topViewController == self
}
set {
super.hidesBottomBarWhenPushed = newValue
}
}
它也会处理您的底部自动布局并调整底部的空白空间。