你们中的许多人可能已经注意到我们不能创建一个类别来覆盖iOS5中的UINavigationBar
drawRect
。现在实际上我没有看到一种很好的方法来实现这种自定义而不使用UINavigationBar
的子类并将其设置在我的MainWindow.xib中的navigationController-> navigationBar中。但是,TTNavigator无法识别navigationController
,因为每个TTViewController
都有自己的超类TTNavigationController
。
答案 0 :(得分:3)
我不知道如何为Three20解决它,但一般来说,支持IOS 5你可以使用这种方法
UIImage *image = [UIImage imageNamed:@"header.png"];
if([navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
//iOS 5 new UINavigationBar custom background
[navigationBar setBackgroundImage:image forBarMetrics: UIBarMetricsDefault];
}
else{
UIImageView *imgView = [[[UIImageView alloc] initWithImage:image] autorelease];
[imgView setUserInteractionEnabled:NO];
[imgView setTag:TOOLBAR_TAG];
[navigationBar insertSubview:imgView atIndex:0];
}