更改 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 中应该是一样的,虽然我不知道为什么你会想要这样做并且除了将标签栏按钮向左移动之外它不会做任何事情