移动UITabBarItem图像?
通常在UITabBar
每个选项卡上,都有一个小图像和一个标题来命名选项卡。 图像位于标签顶部的中心位置,以容纳下方的标题。 我的问题是: 如果你想有一个只有一个图像,没有标题的tabBar是否有办法将图像向下移动,以便它在标签中更好?
我正在使用(见下文)目前:
[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected];
但宁愿使用更大的图像没有标题,现在,如果我使图像大于70像素@ 2x它开始削弱UITabBar
的顶部,同时留下很多未使用的空间在底部。
尝试调整tabBarItem
的imageInsets
(用于移动图标图像)并将控制器标题设置为零(因此不显示标题)。 把这样的东西放在视图控制器的-init
或者-viewDidLoad
方法中:
self.tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); self.title = nil;
UITabBarItem
是具有UIEdgeInsets imageInsets
属性的UIBarItem
的子类。 玩一些插图,直到它看起来不错(取决于你的标签栏图标图像)
你也可以通过故事板做到。 select你的tabbaritem,去检查大小和分配适当的插页。
*在Xcode版本7.3.1(7D1014)上演示
创buildUITabBarController
的子类,并在其viewDidLoad
:
- (void)viewDidLoad { [super viewDidLoad]; [self.viewControllers enumerateObjectsUsingBlock:^(UIViewController *vc, NSUInteger idx, BOOL *stop) { vc.tabBarItem.title = nil; vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0); }]; }
Swift 3:
for vc in self.viewControllers! { vc.tabBarItem.title = nil vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0) }
如果你使用Xamarin,这个工作:
screen.TabBarItem.ImageInsets = new UIEdgeInsets(5, 0, -5, 0); screen.TabBarItem.Title = "";
SWIFT 3.0
根据devise,您可以设置图像底座,顶部,左侧,底部和右侧。
self.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: 0, right: 0)