UITabBar图标在iPad上偏离中心

3
我该如何确保自定义选项卡栏图像位于UITabBarItems的中心位置? 这是我的代码:
[self.tab.tabBar.items[0] setImage:[UIImage imageNamed:@"homeIcon"]];
[self.tab.tabBar.items[0] setAccessibilityLabel:@"Home"];
[self.tab.tabBar.items[1] setImage:[UIImage imageNamed:@"searchIcon"]];
[self.tab.tabBar.items[1] setAccessibilityLabel:@"Search"];

[self.tab.tabBar.items[2] setAccessibilityLabel:@"Add"];
[self.tab.tabBar.items[3] setImage:[UIImage imageNamed:@"explore-standard"]];
[self.tab.tabBar.items[3] setAccessibilityLabel:@"Messages"];
[self.tab.tabBar.items[4] setImage:[UIImage imageNamed:@"profile"]];
[self.tab.tabBar.items[4] setAccessibilityLabel:@"Profile"];

[self.tab.tabBar.items[0] setSelectedImage:[UIImage imageNamed:@"home-thick"]];
[self.tab.tabBar.items[1] setSelectedImage:[UIImage imageNamed:@"search-thick"]];
[self.tab.tabBar.items[3] setSelectedImage:[UIImage imageNamed:@"explore-thick"]];
[self.tab.tabBar.items[4] setSelectedImage:[UIImage imageNamed:@"user-thick"]];

[self.tab.tabBar.items[0] setTitle:nil];
[self.tab.tabBar.items[1] setTitle:nil];
[self.tab.tabBar.items[2] setTitle:nil];
[self.tab.tabBar.items[3] setTitle:nil];
[self.tab.tabBar.items[4] setTitle:nil];

tab bar


2
你尝试过使用itemPositioning吗?在viewDidLoad中尝试以下代码: self.tab.tabBar.itemPositioning = UITabBarItemPositioningFill; - Kerberos
是的,我已经尝试过itemPositioningFill、UITabBarItemPositioningCentered和automatic,但对结果没有影响。 - Halpo
尝试在所有视图上添加不同的背景颜色,以便我们可以看到谁被移动了。 - Kerberos
我似乎已经解决了这个问题,不需要使用 [self.tab.tabBar.items[0] setTitle:nil]; 而是需要使用 [self.tab.tabBar.items[0] setTitle:@""]; - Halpo
你的图像可能有空白填充。在GIMP或其他软件中检查它,以确保它被正确地修剪了。 - Guy Kogus
1个回答

6

像这样设置一个空的标题nil

[self.tab.tabBar.items[0] setTitle:nil];

导致图标偏离中心。
您需要这样设置一个空字符串:
[self.tab.tabBar.items[0] setTitle:@""];

谢谢!这也适用于在Interface Builder中设置的标题。我通过将光标放在标题字段中并按下键盘上的Enter键来修复了这个问题。 - dandepeched

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接