更改UI标签栏宽度ios 13 swift
Posted
技术标签:
【中文标题】更改UI标签栏宽度ios 13 swift【英文标题】:Change UIITabbar width ios13 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
并且在尝试更改标签栏的宽度时它什么都不做
【问题讨论】:
【参考方案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 中应该是一样的,虽然我不知道为什么你会想要这样做,除了将标签栏按钮移到左边之外它不会做任何事情
【讨论】:
以上是关于更改UI标签栏宽度ios 13 swift的主要内容,如果未能解决你的问题,请参考以下文章