기본적으로 “뒤로 단추” UINavigationController
는 스택의 마지막보기 제목을 표시합니다. 뒤로 버튼에 사용자 정의 텍스트를 넣는 방법이 있습니까?
답변
에서 이 링크 :
self.navigationItem.backBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"Custom Title"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
타일러가 댓글에서 말했듯이 :
보이는 뷰 컨트롤러 에서이 작업을 수행하지 말고 뒤로 버튼을 누르면 볼 수있는 뷰 컨트롤러 에서이 작업을 수행하십시오
답변
인터페이스 빌더에서 텍스트를 설정할 수 있습니다.
뒤로 버튼으로 돌아갈 ViewController의 탐색 항목을 선택하십시오.
유틸리티 패널 속성 관리자에서 뒤로 버튼에 대한 레이블을 입력하십시오.
허용 된 답변과 같이 코드에서 제목을 설정하는 것 보다이 접근법을 선호합니다.
또한 뷰 컨트롤러에서 스택을 한 수준 높이기 위해이 작업을 수행해야합니다. 다시 말해서, 보이는 뷰 컨트롤러에서이 작업을 수행하지 말고 뒤로 버튼을 눌렀을 때 표시되는 뷰 컨트롤러에서이 작업을 수행하십시오.
타일러
답변
나는 이것을 사용한다 :
// In the current view controller, not the one that is one level up in the stack
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.backItem.title = @"Custom text";
}
답변
다음과 같이 다른 컨트롤러를 스택에 푸시하기 전에 컨트롤러 제목을 설정하여 편리한 솔루션을 찾았습니다.
self.navigationItem.title = @"Replacement Title";
[self.navigationController pushViewController:newCtrl animated:YES];
그런 다음 다음 viewWillAppear
과 같이 원본 제목을 설정하십시오 .
-(void)viewWillAppear:(BOOL)animated
{
...
self.navigationItem.title = @"Original Title";
...
}
UINavigationController
푸시 작업 중에 뒤로 버튼을 구성 할 때 의 기본 동작은 이전 컨트롤러의 제목을 사용하는 것이므로 작동합니다 .
답변
뒤로 버튼의 제목은 기본적으로 이전보기의 제목으로 설정되므로 사용하는 빠른 트릭은 이전보기의 .m 파일에 다음 코드를 배치하는 것입니다.
-(void)viewWillAppear:(BOOL)animated {
// Set title
self.navigationItem.title=@"Original Title";
}
-(void)viewWillDisappear:(BOOL)animated {
// Set title
self.navigationItem.title=@"Back";
}
답변
init 메소드에서 다음 코드를 추가하십시오.
- (id)initWithStyle:(UITableViewStyle)style {
if(self = [super init]) {
//...
UIBarButtonItem *customBackButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:self
action:@selector(goBack)];
self.navigationItem.leftBarButtonItem = customBackButton;
[customBackButton release];
//...
}
return self;
}
그런 다음 viewcontroller가 해제되도록 간단한 방법을 추가하십시오.
-(void)goBack {
[self.navigationController popViewControllerAnimated:YES];
}
답변
viewDidLoad 또는 loadView에 다음 코드를 추가하십시오.
self.navigationController.navigationBar.topItem.title = @"Custom text";
iOS 9이 설치된 iPhone 및 iPad에서 테스트했습니다.