1

내 탐색 표시 줄에 배경 이미지와 제목이 필요합니다.Objective-C : 탐색 모음의 배경 이미지 및 제목

@implementation UINavigationBar(MyNavigationBar) 
- (void)setBackgroundImage { 
    UIImageView *aTabBarBackground = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"navBarBackgrd.png"]]; 
    [self addSubview: aTabBarBackground]; 
    [self sendSubviewToBack: aTabBarBackground]; 
    [aTabBarBackground release]; 
} 
@end 

내가 내 AppDelegate에이 범주를 호출하고 전체 응용 프로그램에서 배경 이미지를 가지고 :

[self setTitle:@"MyTitle"]; 
:

[navigationController.navigationBar setBackgroundImage]; 

마다의 ViewController는 제목이 이미지를 위해 나는 카테고리를 쓰기

하지만 배경 이미지를 설정 한 후에 제목에 문제가 있습니다.

모든 작품의 첫 번째보기에서 나는 배경 이미지와 제목을 보았습니다 :-) 하지만 다음보기에서는 제목이 사라집니다. 배경 이미지 만 표시됩니다. 제목이 이미지 아래에있을 수 있습니까?

기술적으로 모두 표시 할 수 있습니다. 이 트릭으로 그것을 작동 :

  1. 숨기기 탐색 줄을 다음의 ViewController를 열기 전에 :

    [self.navigationController setNavigationBarHidden : YES];

  2. 다음의 ViewController에서 탐색 막대 표시 :

    [self.navigationController setNavigationBarHidden : NO]; 없다

지금, 이미지와 제목은 볼 수 있지만이 솔루션은하지 ;-)

답변

2

내가있어 최고입니다!

@implementation UINavigationBar(MyNavigationBar) 
- (void)drawRect:(CGRect)rect { 
    UIImage *image = [UIImage imageNamed: @"navBarBackgrd.png"]; 
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 
@end 

Background image for navigation view

2

이 iOS5를 한 후에 당신은 AppDelegate에


UIImage *img = [[UIImage imageNamed:@"image.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 
[[UINavigationBar appearance] setBackgroundImage:img forBarMetrics:UIBarMetricsDefault]; 
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent]; 
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:0 green: 0 blue:0 alpha:1]]; 

+1

예를 들면,이 작업을 수행해야 볼 수 있지만이 코드를 사용하여 설정 titleview 캔트 : - |. 이것을 위해 카테고리를 만들어야합니다. –

관련 문제