在ios13之前,我有一段完美工作的代码:
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
var newFrame = tabBar.frame
newFrame.size.width = self.view.bounds.width - 420
tabBar.frame = newFrame
}但现在,它在运行ipad的ios13上什么也做不了。我也尝试过使用extention并创建我自己的CustomTabBar并更改sizeThatFits()方法的宽度,但是这个方法是ONLY CHANGES THE HEIGHT的,当尝试更改选项卡栏的宽度时,它什么也不做
发布于 2019-10-30 22:15:31
把它改成这样
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中应该也一样,尽管我不知道为什么你会想要这样做,而且除了向左移动标签栏按钮之外,它不会做任何事情
https://stackoverflow.com/questions/58624613
复制相似问题