我正在尝试以编程方式添加UITabBarController
。一切都很好,但我有两个问题。
但它在底部显示另一条绿线:
以下是我正在使用的代码:
[self.myTabBarController.tabBar setBackgroundImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"tabbar.png" ofType:nil]]];
另一个问题是,我使用以下代码设置tabbar项目图片:
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"]];
已设置图片,但是当我尝试使用此MyViewController
的{{1}}添加标题时:
viewDidLoad
它也在tabbar项目上显示相同的标题,但我不想要任何标题。
我如何解决这个问题? 谢谢
答案 0 :(得分:3)
图像尺寸小于标签栏的框架尺寸,因此要覆盖框架区域的背景图像显示两次。 您可以通过两种方式进行更改 1.)更改不是最佳选项的图像尺寸 2.)设置tabBar的内容插入,如(0,0,0,0)
答案 1 :(得分:0)
示例:
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:@""];