如何改变UITabBarItem的宽度?

dem*_*733 9 xcode objective-c width uitabbaritem

如何改变UITabBarItem的宽度?

我有一个标题的项目,比默认项目宽度宽.我该如何解决?

jom*_*fer 19

iOS7及更高版本的解决方案:

为UITabBar引入了一个新属性:itemWidth.

将itemWidth设置为正值,将其用作标签栏项目的宽度,将它们定位为居中组(而不是填充标签栏).默认值0或小于0的值将被解释为系统定义的宽度.

@property(nonatomic) CGFloat itemWidth NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR;
Run Code Online (Sandbox Code Playgroud)

所以你可以在你的AppDelegate中做到这一点:

[[UITabBar appearance] setItemWidth:WIDTH];
Run Code Online (Sandbox Code Playgroud)

如果你想填满整个UITabBar:

[[UITabBar appearance] setItemWidth:self.window.frame.size.width/NUMBER_OF_ITEMS];
Run Code Online (Sandbox Code Playgroud)

如何填写UITabBar

  • 不幸的是,该解决方案不允许自定义特定项目的宽度,只能自定义所有项目的宽度。 (2认同)

ric*_*ich 1

我刚刚搜索了文档,没有看到调整 UITabBarItem 宽度的方法。

一种可能的解决方案是在选项卡栏控制器中放置一个视图来加载自定义的 UITabBarItem,即正确的宽度。