【问题标题】:Image instead of title in navigation bar of TTLauncherViewTTLauncherView导航栏中的图像而不是标题
【发布时间】:2011-09-26 15:05:56
【问题描述】:

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

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

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

如何实现?

【问题讨论】:

    标签: uinavigationcontroller three20 ttlauncherview


    【解决方案1】:

    您可以在使用自定义 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 代替,但是这段代码可以正常工作。

    【讨论】:

    • 它适用于 UIImageView 但它停留在状态栏的顶部。以下一项均无效: CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame]; CGRect rectImage = CGRectMake(0, rectStatus.size.height , width, height); [imageView setFrame:rectImage]; self.navigationItem.titleView = imageView;
    猜你喜欢
    • 2022-01-22
    • 2017-02-05
    • 1970-01-01
    • 2018-07-26
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多