TTLauncherView导航栏中的图像而不是标题

时间:2011-09-26 15:05:56

标签: uinavigationcontroller three20 ttlauncherview

我在项目中使用TTLauncherView。要拥有自定义导航栏背景,我已在我的应用委托中将UINavigationBar子类化。这很好用,所有导航栏现在都有这种自定义样式。

@implementation UINavigationBar (CustomNavBarBG)
-(void)drawRect:(CGRect)rect{
    UIImage *image = [UIImage imageNamed:@"navbar_s.png"];
    [image drawInRect:self.bounds];
}
@end

浏览视图时,标题会显示在栏的中间。但是在主屏幕的导航栏上,启动器,我想要一个图像而不是标题。这可能吗?

如何实施?

1 个答案:

答案 0 :(得分:6)

使用自定义UIView加载控制器时可以覆盖默认标题视图,例如UIButton:

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)viewDidLoad {
  [super viewDidLoad];

  UIButton *logoView = [[[UIButton alloc] initWithFrame:CGRectMake(0,0,85,40)] autorelease];
  [logoView setBackgroundImage:[UIImage imageNamed:@"navBarLogo.png"] forState:UIControlStateNormal];
  [logoView setUserInteractionEnabled:NO];

  self.navigationItem.titleView = logoView;
}

我实际上不确定为什么我在这里使用UIButton :-)也许你可以使用UIImageView,但这段代码工作正常。