如何在标签栏中平均间隔标签栏项目
How to spacing tab bar items equally in tab bar
我有 3 个标签栏项目,我希望它们在标签栏中这样显示:
| |
| 1 2 3 |
| |
我在 InterfaceBuilder 中看到这个 属性:
所有情况我都试过了,还是不行,显示是这样的:
| |
| 1 2 3 |
| |
这是最简单的解决方案:
如果您有子 TabBarController,请在 viewDidLayoutSubviews
中添加此代码,它适用于我。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.tabBar.itemSpacing = UIScreen.main.bounds.width / 6
}
嗯,这是一个通用的解决方案,没有任何硬编码值。
在您的 UITabBarController
的 viewDidLoad()
中,设置
tabBar.itemPositioning = .fill
这是 Objective-C 的代码。
-(void)viewDidLoad
{
[super viewDidLoad];
[self.tabBar setItemPositioning:UITabBarItemPositioningFill];
}
你也可以在Tab Bar的Storyboard中设置值
已接受的答案需要设置 tabBar.itemPositioning 才能生效。如果上述答案不起作用,请尝试将其设置为 .centered。此后,您应该能够以编程方式设置项目间距。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.tabBar.itemPositioning = .centered
self.tabBar.itemSpacing = UIScreen.main.bounds.width / 6
}
我有 3 个标签栏项目,我希望它们在标签栏中这样显示:
| |
| 1 2 3 |
| |
我在 InterfaceBuilder 中看到这个 属性:
所有情况我都试过了,还是不行,显示是这样的:
| |
| 1 2 3 |
| |
这是最简单的解决方案:
如果您有子 TabBarController,请在 viewDidLayoutSubviews
中添加此代码,它适用于我。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.tabBar.itemSpacing = UIScreen.main.bounds.width / 6
}
嗯,这是一个通用的解决方案,没有任何硬编码值。
在您的 UITabBarController
的 viewDidLoad()
中,设置
tabBar.itemPositioning = .fill
这是 Objective-C 的代码。
-(void)viewDidLoad
{
[super viewDidLoad];
[self.tabBar setItemPositioning:UITabBarItemPositioningFill];
}
你也可以在Tab Bar的Storyboard中设置值
已接受的答案需要设置 tabBar.itemPositioning 才能生效。如果上述答案不起作用,请尝试将其设置为 .centered。此后,您应该能够以编程方式设置项目间距。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.tabBar.itemPositioning = .centered
self.tabBar.itemSpacing = UIScreen.main.bounds.width / 6
}