调整标签栏大小后调整子视图大小 swift
resize subview after resizing tab bar swift
我正在使用从 TabBarController 继承标签栏的 UIViewController,在其中,我有一个 UITableView,其底部 space 设置为等于底部布局指南顶部,看起来像这样:
然后我使用这段代码调整了我的标签栏
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
}
但似乎 table 视图在调整选项卡栏大小时已经布置好,结果是这样的
有没有办法动态调整子视图的大小,使其仍然遵循相同的布局?
这对我有用
extension UITabBar {
override open func sizeThatFits(_ size: CGSize) -> CGSize {
var sizeThatFits = super.sizeThatFits(size)
sizeThatFits.height = 40
return sizeThatFits
}
}
我正在使用从 TabBarController 继承标签栏的 UIViewController,在其中,我有一个 UITableView,其底部 space 设置为等于底部布局指南顶部,看起来像这样:
然后我使用这段代码调整了我的标签栏
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
}
但似乎 table 视图在调整选项卡栏大小时已经布置好,结果是这样的
有没有办法动态调整子视图的大小,使其仍然遵循相同的布局?
这对我有用
extension UITabBar {
override open func sizeThatFits(_ size: CGSize) -> CGSize {
var sizeThatFits = super.sizeThatFits(size)
sizeThatFits.height = 40
return sizeThatFits
}
}