Ios 如何在选项卡栏中相等间隔选项卡栏项
我有3个选项卡栏项目,我希望它们在选项卡栏中显示如下:Ios 如何在选项卡栏中相等间隔选项卡栏项,ios,uitabbarcontroller,uitabbaritem,Ios,Uitabbarcontroller,Uitabbaritem,我有3个选项卡栏项目,我希望它们在选项卡栏中显示如下: | | | 1 2 3 | | | 我在InterfaceBuilder中看到此属性: 我试过所有的案例,但都不起作用,它显示了如下内容: | | | 1 2 3 | | | 以下是最简单的解决方案: 如果您有一个子选项卡BarController,
| |
| 1 2 3 |
| |
我在InterfaceBuilder中看到此属性:
我试过所有的案例,但都不起作用,它显示了如下内容:
| |
| 1 2 3 |
| |
以下是最简单的解决方案: 如果您有一个子选项卡BarController,请在
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];
}
也可以在选项卡栏上的情节提要中设置值
接受的答案需要设置tabBar.itemPositioning才能工作。如果上述答案无效,请尝试将其设置为.centered。此后,您应该能够以编程方式设置项目间距
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.tabBar.itemPositioning = .centered
self.tabBar.itemSpacing = UIScreen.main.bounds.width / 6
}
在条形图项目之间使用灵活的空格,如flexiblespace-item1-flexiblespace-item2-flexiblespace-item3-flexiblespace在另一篇文章中回答了这个问题。请参见此处的解决方案。对我有用。可以创建新类,也可以在界面生成器中选择此选项