更改 UIITabbar 宽度 ios13 swift
Change UIITabbar width ios13 swift
我有这段代码在 ios13 之前运行良好:
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
var newFrame = tabBar.frame
newFrame.size.width = self.view.bounds.width - 420
tabBar.frame = newFrame
}
但现在它在 ios13 运行 ipad 上什么都不做。
我也尝试过使用 extention
并创建自己的 CustomTabBar
并从 sizeThatFits()
方法更改宽度,但是此方法 ONLY CHANGES THE HEIGHT
以及尝试更改标签栏的宽度时它什么都不做
改成这样
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var newFrame = tabBar.frame
newFrame.size.width = self.view.bounds.width - 420
tabBar.frame = newFrame
}
这在 Objective-C 中有效,刚刚测试过:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
CGRect newFrame = self.tabBar.frame;
newFrame.size.width -= 200;
self.tabBar.frame = newFrame;
}
在 Swift 中应该是一样的,虽然我不知道为什么你会想要这样做并且除了将标签栏按钮向左移动之外它不会做任何事情
我有这段代码在 ios13 之前运行良好:
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
var newFrame = tabBar.frame
newFrame.size.width = self.view.bounds.width - 420
tabBar.frame = newFrame
}
但现在它在 ios13 运行 ipad 上什么都不做。
我也尝试过使用 extention
并创建自己的 CustomTabBar
并从 sizeThatFits()
方法更改宽度,但是此方法 ONLY CHANGES THE HEIGHT
以及尝试更改标签栏的宽度时它什么都不做
改成这样
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var newFrame = tabBar.frame
newFrame.size.width = self.view.bounds.width - 420
tabBar.frame = newFrame
}
这在 Objective-C 中有效,刚刚测试过:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
CGRect newFrame = self.tabBar.frame;
newFrame.size.width -= 200;
self.tabBar.frame = newFrame;
}
在 Swift 中应该是一样的,虽然我不知道为什么你会想要这样做并且除了将标签栏按钮向左移动之外它不会做任何事情