我正在尝试创建一个 UITabBar,我将使用外观 API 对其进行自定义。我一直试图从 UITabBarItem 中删除标题标签并调整图像大小以使其居中。如果您只是删除标题文本,则图像下方和栏的底部会有空白区域。
有谁知道如何制作没有标题的 UITabBarItem ?
我正在尝试创建一个 UITabBar,我将使用外观 API 对其进行自定义。我一直试图从 UITabBarItem 中删除标题标签并调整图像大小以使其居中。如果您只是删除标题文本,则图像下方和栏的底部会有空白区域。
有谁知道如何制作没有标题的 UITabBarItem ?
设置标题nil
并移动图标
self.tabBarItem = [[UITabBarItem alloc] initWithTitle:nil
image:[[UIImage imageNamed:@"icon_tabbar_inactive.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
selectedImage:[[UIImage imageNamed:@"icon_tabbar_active.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
// Move the tabbar icon to the middle of tabbar
self.tabBarItem.imageInsets = UIEdgeInsetsMake(6.0, 0.0, -6.0, 0.0);
今天做了同样的任务。
由于我不能将选项卡栏的全部空间用于项目图像,因此我只需在用户按下任何选项卡时更改选项卡栏背景。
因此,第一步是为每个选定的选项卡准备带有全尺寸按钮的背景图像。
然后创建自定义类并将其分配给您的标签栏控制器
在 ViewDidLoad 中的第一个选项卡的自定义类中设置背景图像:
[[self tabBar] setBackgroundImage:[UIImage imageNamed:@"tabShopsActive"]];
[[self tabBar] setSelectionIndicatorImage:[UIImage imageNamed:@"tabSelection"]];
为 ViewWillAppear 中的每个 UIController 添加背景更改:
UITabBarController *bar = [self tabBarController];
[bar.tabBar setBackgroundImage:[UIImage imageNamed:@"tabDiscountsActive"]];
因此,现在当用户按下任何选项卡选项卡栏更改背景以显示正确的图片时。
这是我选择第二个选项卡时生成的选项卡栏:
我对同样问题的解决方案:
1、将横条原点y调低,将屏幕外的空白推开。
2、重置背景,确保它刚好覆盖正确的位置。