2010-04-17 6 views
0

네비게이션 바에서 왼쪽 및 오른쪽 버튼을 사용합니다. 뒤로 (왼쪽) 버튼에 이미지가 필요합니다. 세그먼트를 사용하는 경우 뒤로 버튼에 대한 작업을 정의하려면 이 필요합니다. 모든 방법에 대해 조언 해주세요.네비게이션 바에있는 이미지 뒤로 버튼

+3

23 개의 질문을하고 한 번 대답을 "수락"(대답 옆의 녹색 확인 표시)으로 표시하지 않았습니다. 그렇게하면 더 많은 사람들이 귀하의 질문에 답변 할 수 있습니다. 그것은 신용을 제공하고 당신을 도운 사람들에게 감사하는 방법입니다. –

+0

그 덕분에 –

+0

롤, 아직 ...이 게시물에 아직 대답을 대답. – n00shie

답변

0

예, Bar Button 항목을 사용하는 경우 Interface Builder의 Bar Button Item Attributes로 이동하여 선택할 수있는 Image 옵션이 있어야합니다. 이처럼 탐색 모음에 추가 한 후

+ (UIBarButtonItem *)barButtonWithImage:(NSString *)imageName target:(id)target action:(SEL)action { 
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside]; 
    UIImage *titleImage = [UIImage imageNamed:imageName]; 
    [button setImage:titleImage forState:UIControlStateNormal]; 
    [button sizeToFit]; 
    UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button]; 
    return item; 
} 

을 그리고 :

[self.navigationItem setLeftBarButtonItem:[TFNavigationBar barButtonWithImage:@"rp_settings.png" target:self action:@selector(showSettings)]]; 

추신 :

0

당신은 UINavigationBar를 서브 클래 싱하여 수행 할 수 있습니다,이 같은 방법을 만들어 사용하는 것을 선호 싱글 톤, 그렇습니다.

0

우리가 뒤로 버튼을 우리 자신으로 대체하는 가장 쉬운 방법은 다음과 같습니다.

  1. 보기 외부의 nib 파일에 뒤로 버튼을 추가하십시오. 원하는대로 사용자 정의하십시오.
  2. IBOutlet으로 연결하십시오. 그것을 btnBack이라고 부르 자. 당신이 너 자신이 버튼을 다시 정의되었다

    - (IBAction)Back:(id)sender { 
    [self.navigationController popViewControllerAnimated:YES]; 
    } 
    

그리고 그게 전부 :)

:

UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithCustomView:btnBack]; 
[self.navigationItem setLeftBarButtonItem:back animated:YES]; 
  • 이처럼 backBtn에 액션을 연결합니다있는 viewDidLoad에서

  • 이 작업을 수행
    0

    앱을 통해 단순히 뒤로 버튼을 이미지로 바꾸려면 ...

    [[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"back_button"]]; 
    [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"back_button"]]; 
    

    또는 특정 탐색 모음의 경우 '[UINavigationBar appearance]'대신 navBar를 지정하십시오. 이것은 완벽하게 작동합니다.