Изменить ширину UIITabbar ios13 swift - PullRequest
1 голос
/ 30 октября 2019

У меня был этот кусок кода, который прекрасно работал до 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 и при попытке изменить ширину панели вкладок ничего не делает

1 Ответ

0 голосов
/ 30 октября 2019

замените его на

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, хотя я понятия не имеюпочему в мире вы когда-нибудь захотите это сделать, и он не будет делать ничего, кроме как сдвинуть кнопки панели вкладок влево

...