我正在使用UIViewController继承TabBarController中的标签栏,在其中,我有一个UITableView,其底部空间设置为等于底部布局指南顶部,如下所示:
然后我用这段代码来调整标签栏的大小
let barHeight: CGFloat = 40.0
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
var tabFrame = tabBar.frame
tabFrame.size.height = barHeight
tabFrame.origin.y = view.frame.size.height - barHeight - 1
tabBar.frame = tabFrame
}
但似乎表格视图已经在标签栏调整大小之前已经布局了,它会产生类似这样的结果
有没有办法动态调整子视图的大小,使其仍然遵循相同的布局?
答案 0 :(得分:0)
这对我有用
extension UITabBar {
override open func sizeThatFits(_ size: CGSize) -> CGSize {
var sizeThatFits = super.sizeThatFits(size)
sizeThatFits.height = 40
return sizeThatFits
}
}