自定义UITabBarItem没有标题标签

mro*_*les 5 uitabbaritem uitabbar ios

我正在尝试创建一个UITabBar,我将使用外观API进行自定义.我一直试图从UITabBarItem中删除标题标签并调整图像大小以使其居中.如果您只删除标题文本,则图像下方和栏的底部将显示空白区域.

有没有人知道如何制作没有标题的UITabBarItem?

car*_*ich 8

将标题设置为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);
Run Code Online (Sandbox Code Playgroud)


CTi*_*PKA 7

今天做了同样的任务.

由于我不能使用标签栏的完整空间作为项目图像,我只需在用户按任意标签时更改标签栏背景.

  1. 因此,第一步是为所选的每个选项卡准备具有全尺寸按钮的背景图像.

  2. 然后创建自定义类并为标签栏控制器分配它

  3. 在ViewDidLoad中第一个选项卡的自定义类设置背景图像中:

    [[self tabBar] setBackgroundImage:[UIImage imageNamed:@"tabShopsActive"]];
    [[self tabBar] setSelectionIndicatorImage:[UIImage imageNamed:@"tabSelection"]];
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在ViewWillAppear中为每个UIController添加背景更改:

    UITabBarController *bar = [self tabBarController];
    [bar.tabBar setBackgroundImage:[UIImage imageNamed:@"tabDiscountsActive"]];
    
    Run Code Online (Sandbox Code Playgroud)

所以现在当用户按任意选项卡标签栏更改背景以显示正确的图片时.

当选择第二个标签时,它是我生成的标签栏:

标签栏没有标签