0

我在我的项目中使用 TTLauncherView。为了有一个自定义导航栏背景,我在我的应用程序委托中对 UINavigationBar 进行了子类化。这工作正常,所有导航栏现在都具有这种自定义样式。

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

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

如何实施?

4

1 回答 1

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 代替,但是这段代码可以正常工作。

于 2011-09-26T20:50:51.847 回答