自定义标签栏背景图片 - 在iOS 4.x中

时间:2012-01-03 08:51:50

标签: ios uitabbarcontroller uitabbar

当我收到将标签栏的背景图像更改为自定义图像的请求时,我已经制作了一个标签栏iOS项目。该项目是为iOS 4.x开发的,所以是iOS5的 [tabBar setTabBarBackgroundImage:[UIImage imageNamed:@"custom.jpg"]]不起作用。你能给我一些简单的解决方案吗(如果有可能,我不想改变整个项目)?

修改 只有三行代码可以解决所有问题:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"customImage.png"]];
[self.tabBarController.tabBar insertSubview:imageView atIndex:0];
[imageView release];

3 个答案:

答案 0 :(得分:3)

一种可能的解决方案是将UIView的背景图片正好放在UITabBar后面。然后将标签栏的不透明度降低到0.5,这样就可以看到背景图像。

UIView *bckgrndView = [[UIView alloc] initWithFrame:CGRectMake(tabbar.frame.coords.x, tabbar.frame.coords.y, tabbar.frame.size.width, tabbar.frame.size.height)];
[bckgrndView setBackgroundImage:[UIImage imageNamed:@"custom.jpg"]];
[tabbar.superView insertSubView:bckgrndView belowSubview:tabbar];
tabbar.alpha = 0.5;
[bckgrndView release];

很抱歉,如果我的代码包含一些错误。我试着用心做这件事......但是你会抓住漂移。

答案 1 :(得分:0)

我已经回答了类似的问题here。希望它会有所帮助。

答案 2 :(得分:0)

查看NGTabBarController,用可自定义的背景图片替换开源标签栏。