【问题标题】:Change UIITabbar width ios13 swift更改UI标签栏宽度ios 13 swift
【发布时间】:2019-10-30 11:42:37
【问题描述】:

我有这段代码在 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 并且在尝试更改标签栏的宽度时它什么都不做

【问题讨论】:

    标签: swift uitabbar ios13


    【解决方案1】:

    改成这个

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

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 2020-01-16
      • 2022-11-12
      • 1970-01-01
      • 2014-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多