2011-08-21 6 views
3

안 backBarButtonItem : backButtonItem에서 작동하지 않는 것내가 함께 탐색 컨트롤러의 뒤로 버튼 항목을 다시 해제하려고

self.navigationItem.backBarButtonItem.enabled = NO; 

하지만, 다른 모음 단추 항목에서 작동합니다. 그것을 숨길 필요없이 일시적으로 비활성화하는 방법이 있습니까?

+0

아마도 backButton 역할을하는 사용자 정의 UIBarButtonItem이 도움이 될까요? 나는 기본 backButton이 매우 제한적이라고 생각한다. –

답변

16

당신은 대신 다음을 사용한다 :

self.navigationItem.hidesBackButton = YES; 

는 희망이 작동합니다.

2

제 경우에는 뒤로 버튼을 완전히 감추고 싶지 않았습니다. 초기화 루틴이 완료되는 동안 버튼을 아주 잠시 사용하지 못하게하고 싶었습니다. 그래서 여기 내가하고 결국 무엇을 : 초기화 루틴이 완료된 후, 나중에 다음

// in initWithNibName 
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[backButton setTitle:@"Cancel" forState:UIControlStateNormal]; 
[backButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled]; 
[backButton.titleLabel setFont:[UIFont boldSystemFontOfSize:13.0f]]; 
[backButton setFrame:CGRectMake(0.0f, 0.0f, 68.0f, 28.0f)]; 
[backButton setEnabled:NO]; 
[backButton addTarget:self action:@selector(tappedClose) forControlEvents:UIControlEventTouchUpInside]; 
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; 
self.navigationItem.leftBarButtonItem = buttonItem; 
[buttonItem release]; 

을하고, 내가 할 :

UIButton *backNavigationButton = (UIButton *)self.navigationItem.leftBarButtonItem.customView; 
[backNavigationButton setEnabled:YES]; 

나중에 내가 계획 UIButtonTypeCustomUIButtonTypeRoundedRect를 사용 변경과 내 자신의 "back-button-esque"버튼 이미지를 제공합니다. 희망이 도움이!

관련 문제