所以,
我正在为我的UITabBarController
创建子类,并将颜色绿色添加到我的UITabBar
。
- (void)viewDidLoad {
CGRect frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, 48);
UIView *v = [[UIView alloc] initWithFrame:frame];
v.backgroundColor = [UIColor greenColor];
[v setAlpha:0.35];
[[self tabBar] insertSubview:v atIndex:0];
[v release];
[super viewDidLoad];
}
这不起作用。
但是,如果我尝试[[self tabBar] insertSubview:v atIndex:1];
它可以工作..并且整个TabBar都会添加绿色!!
我使用ios5 SDK
在iPhone模拟器上工作,它运行正常,我可以选择所有标签。
但是当我在ios4.2(真正的iPhone)上试用这个代码时,第一个标签是可见的......但是没有回应接触
原因很明显,原因是添加SubView
greenColor
@ index == 1;
但如果我改为[[self tabBar] insertSubview:v atIndex:0];
我的firstTab可以选择,但tabBar
只是没有变成绿色!!
请告知!!
感谢。
修改
因此问题与iOS5及早期版本有关。一旦iOS 5发布,我将编辑答案并放回原始答案。
现在......关闭开发者论坛!!! :)
答案 0 :(得分:0)
您可能希望为此创建一个不包含UITabBarController的自定义控件。从文档中,“您永远不应直接访问标签栏控制器的标签栏视图。”
非公开API的视图图层和层次结构部分,并且可能会在不同版本的iOS上进行更改。