如何在标签栏中平均分隔标签栏项目

时间:2017-02-11 08:18:27

标签: ios uitabbarcontroller uitabbaritem

我有3个标签栏项目,我希望它们在标签栏中显示如下:

|                  |

|    1    2    3   |

|                  |

我在InterfaceBuilder中看到了这个属性:

enter image description here

我已尝试过所有案例,但它不起作用,它显示的内容如下:

|                  |

|      1  2  3     |

|                  |

4 个答案:

答案 0 :(得分:3)

嗯,这是一个通用的解决方案,没有任何硬编码值。

viewDidLoad()的{​​{1}}中,设置

  

tabBar.itemPositioning = .fill

答案 1 :(得分:1)

这是最简单的解决方案:

如果您有一个子TabBarController,请在viewDidLayoutSubviews中添加此代码,它适用于我。

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    self.tabBar.itemSpacing = UIScreen.main.bounds.width / 6
}

答案 2 :(得分:1)

这是Objective-C的代码。

std::tuple

您还可以在标签栏上的故事板中设置值

enter image description here

答案 3 :(得分:0)

接受的答案需要设置tabBar.itemPositioning才能起作用。如果以上答案不起作用,请尝试将其设置为.centered。之后,您应该可以以编程方式设置项目间距。

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    self.tabBar.itemPositioning = .centered
    self.tabBar.itemSpacing = UIScreen.main.bounds.width / 6
}