这是我的标签栏:
我想在下面设计标签栏:
标签栏项目的标题是nil(图像内的单词)。我在下面的标签栏类中的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.tabBar.barTintColor = [UIColor colorWithRed:67/255.0 green:67/255.0 blue:67/255.0 alpha:1];
for (UITabBarItem *tbi in self.tabBar.items)
{
tbi.title = nil;
tbi.image = [tbi.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tbi.selectedImage = [tbi.selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tbi.imageInsets = UIEdgeInsetsMake(6.0, 0.0, -6.0, 0.0);
}
}
我尝试使用多种尺寸的标签栏项目,但它没有改变。请帮我解决这个问题 非常感谢!
答案 0 :(得分:0)
我认为你的解决方案是正确的。 imageInsets
确实更改了tabbaritem.image的大小和位置。它在我的项目中运作良好。
根据您的情况,tbi.imageInsets = UIEdgeInsetsMake(-6.0, -6.0, -6.0, -6.0);
可能会更好。
如果您的文字和图片距离过近,则应调整图片本身,因为文字与图片一致
答案 1 :(得分:-1)
你的代码是对的
你可以获得标签栏的特定项目并尝试设置不同的Insets,如
// UIEdgeInsets insets = {top, left, bottom, right};
UITabBarItem *tabBarItem1 = [self.tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [self.tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [self.tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem4 = [self.tabBar.items objectAtIndex:3];
tabBarItem1.imageInsets = UIEdgeInsetsMake(-6.0, -6.0, -6.0, -6.0);
tabBarItem2.imageInsets = UIEdgeInsetsMake(-6.0, -6.0, -6.0, -6.0);
tabBarItem3.imageInsets = UIEdgeInsetsMake(-6.0, -6.0, -6.0, -6.0);
tabBarItem4.imageInsets = UIEdgeInsetsMake(-6.0, -6.0, -6.0, -6.0);