我有一个选项卡式应用程序,其中包含导航控制器的选项卡和视图控制器。他们都使用相同的导航控制器导航栏:后退按钮+徽标图像。目前,我把这个代码放在每个视图控制器中:如何为所有导航控制器和视图控制器设置自定义导航栏(标题+ titleView)?
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.title = @"Back";
UIImage *headerImage = [UIImage imageNamed:@"Logo.png"];
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:headerImage] autorelease];
}
恕我直言,这不是最好的方式来做到这一点。我想为UIViewController使用一个类别,并且重写viewDidLoad方法,但是每个视图控制器都有一些额外的代码在viewDidLoad中执行,所以我认为重写不是解决方案。其他方式是什么?
你定位到iOS 5?在iOS中,您可以全局设置这些值(例如,在您的appDelegate中)。 –
目前,NOP :)但请让我知道该怎么做,在iOS 5中...... – Centurion
看看UIAppearance:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAppearance_Protocol /Reference/Reference.html我写了一个小例子作为答案。请让我知道这对你有没有用。 –