2012-04-08 5 views

답변

3

nevan king이 맞다 그러나 네비게이션 바의 배경 이미지를 변경하거나 nil로 설정할 수 있습니다. 이 값을 nil로 설정하거나 투명한 BG 이미지를 제공하면 필요한 효과를 얻을 수 있습니다.

가 아이폰 OS> = 5.0 단순히 모양 설정할 수 있습니다 :

if([navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) // needed if iOS older than 5.0 is also supported 
    [navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; 

당신은 할 수 있습니다 당신은 당신의 탐색 모음에 대한 포인터가 어느 곳. 예 : 내부는 ViewControllerviewDidLoad 방법입니다.

나이가 아이폰 OS 버전 당신은 카테고리를 UINavigationBar을하여 해결 방법을 필요로하고 drawRect 방법 덮어 쓰기 : 모든 아이폰 OS 버전을 지원하려는 경우

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

두 가지 방법이 호환을.
따라서 뒤로 단추는 동일한 배경 이미지를 사용한다는 점을 명심해야합니다. 그래서 당신은 맞춤 제작을해야합니다.

UIImage *bgImageNormal = [UIImage imageNamed:@"backButtonImage.png"]; 

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setBackgroundImage: bgImageNormal forState:UIControlStateNormal]; 

button.frame= CGRectMake(0.0, 0.0, bgImageNormal.size.width, bgImageNormal.size.height); 
[button addTarget:self action:@selector(navigationBarBackButtonTouchUpInside:) forControlEvents:UIControlEventTouchUpInside]; // your action method here 

UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithCustomView:button]; 
self.navigationItem.leftBarButtonItem = closeButton; 
[closeButton release]; 

이 코드는 탐색 모음으로 푸시 할 각 ViewController에 대해 구현해야합니다. 그것의 좋은 장소는 또한 viewDidLoad 방법 안에 있습니다.

+0

그건 내 해결책이야, 첫 번째는 ... 코드를 어디에 넣는거야? 보기에서로드 했습니까? – Acunamatata

+0

코드의 권장 장소로 답변을 업데이트했습니다. iOS 5 메서드와 사용자 지정 뒤로 단추는 사용자가 navBar 또는 뷰 콘트롤러에 푸시 할 수있는 곳이면 어디에서나 사용할 수 있습니다. 사전 iOS 5 해결 방법은 UINavigationBar의 자체 범주에서 구현해야합니다. – yinkou

0

뒤로 버튼은 탐색 바를 사용하여 만들어 지므로 항상 사용할 수 없습니다. 사용자가 화면에서 터치 할 때 탐색 막대를 숨기거나 다시 표시 할 수 있습니다 (사진 한 장을 볼 때 사진 앱이하는 것입니다). 또는 버튼을 만들어 화면 왼쪽 상단에 영구히 놓습니다. 탐색 막대를 부분적으로 투명하게 만들어서 아래 내용이 표시되도록 할 수도 있습니다.

+0

내비게이션 막대 아래에 쓰레기 그림자를 지우고 싶습니다 ... 가능합니다 – Acunamatata

+0

어느 그림자입니까? 나는 도착하지 못합니다. –

+0

iOS 5를 사용하는 경우 탐색 모음의 모양을 사용자 정의 할 수 있습니다. WWOS 세션 114 비디오 또는 iOS 5 문서의 "UIKit 컨트롤에 대한 사용자 정의 모양"을 확인하십시오. https://developer.apple.com/library/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iOS5.html#//apple_ref/doc/uid/TP30915195-SW1 –