通常在 UITabBar
的每个选项卡上都有一个小图像和一个命名选项卡的 Headers . 图像位于标签顶部/居中,以容纳下方的 Headers . 我的问题是:如果你想让tabBar只有一个图像而没有 Headers ,那么有一种方法可以将图像向下移动,使其在标签内更好地居中吗?
我目前正在使用(见下文):
[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected];
但是我更喜欢使用没有 Headers 的较大图像,此时如果我将图像大于约70像素@ 2x,它会从 UITabBar
的顶部开始边缘,同时在底部留下大量未使用的空间 .
7 回答
这对我有用
Swift 4
SWIFT 3.0
您可以根据设计设置图像设置,设置顶部,左侧,底部和右侧 .
对于iOS 11,除了设置ImageInsets之外,您还需要覆盖 TraitCollection 方法 . 请在子类UITabBarController类中添加该方法
尝试调整
tabBarItem
的imageInsets
(用于移动图标图像)并将控制器 Headers 设置为nil(因此不显示 Headers ) . 把这样的东西放到视图控制器中的-init
或-viewDidLoad
方法中:Objective-C
Swift
UITabBarItem
是UIBarItem
的子类,具有UIEdgeInsets imageInsets
属性 . 使用插图播放一点,直到它看起来不错(取决于您的tabbar图标图像)你也可以通过故事板来做到这一点 . 选择tabbaritem,转到大小检查器并分配相应的insets .
*在Xcode上展示,版本7.3.1(7D1014)
如果您使用的是Xamarin,则可以:
创建
UITabBarController
的子类,并在其viewDidLoad
中:斯威夫特3: