UITabBarController 背景图片设置不正确

UITabBarController background image is not set correctly

我正在尝试以编程方式添加 UITabBarController。一切正常,但我有两个问题。

  1. 我正在设置标签栏背景图片,但它显示的是我什至在资源中都没有的不同图片。 我将这张图片用作标签栏背景图片,上面有一条绿线:

但它在底部显示了另一条绿线,如下所示:

这是我为此使用的代码:

[self.myTabBarController.tabBar setBackgroundImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"tabbar.png" ofType:nil]]];
  1. 另一个问题是,我正在使用以下代码设置标签栏项目图像:

     MyViewController *myController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
     UINavigationController *myNavController = [[UINavigationController alloc] initWithRootViewController: myController];
     [myNavController.tabBarItem initWithTitle:@"" image:[UIImage imageNamed:@"ads_inactive.png"] selectedImage:[UIImage imageNamed:@"ads_active.png"]];
    

图像已设置,但是当我尝试使用以下方法在 MyViewControllerviewDidLoad 中添加标题时:

self.title = @"My Ads";

它也在标签栏项目上显示相同的标题,但我不想要任何标题。

我该如何解决这个问题? 谢谢

示例:

UITabBar *tabBar = self.tabBarController.tabBar;
iterm0.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);

UITabBarItem *iterm0 = [tabBar.items objectAtIndex:0];
[iterm0 setImage:[[UIImage imageNamed:@"tab1_normal"]
                  imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[iterm0 setSelectedImage:[[UIImage imageNamed:@"tab1_selected"]
                          [(UITabBarItem *)[self.tabBarController.tabBar.items objectAtIndex:0] setTitle:@""];

图片尺寸小于tab bar的frame size,所以要覆盖frame area background image显示两次。 您可以通过两种方式更改它 1.)更改不是最佳选择的图像大小 2.) 将 tabBar 的内容设置为 (0,0,0,0)