보기에 탐색 모음이 있고 탐색 항목 제목을 프로그래밍 방식으로 변경하려고합니다.
어떻게하나요?
답변:
에서 애플 문서 :
탐색 모음을 사용하는 가장 일반적인 방법은 탐색 컨트롤러를 사용하는 것입니다. 앱에서 탐색 모음을 독립 실행 형 개체로 사용할 수도 있습니다.
따라서 UINavigationController가있는 경우 탐색 모음의 제목을 설정하기 위해 수행해야하는 모든 작업 (모든 이전 답변에서 설명한대로)
self.navigationItem.title = @"title";
그러나 UIViewController의 개체 내에서 프로그래밍 방식으로 생성 된 독립형 탐색 모음이있는 경우 적절한 UINavigationItem 개체를 만들고 탐색 모음 개체 스택에 추가하여 탐색 모음의 초기 모양을 설정해야합니다.
언급 된 단계에 대한 Objective-C 코드 샘플 :
UINavigationBar* navbar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)];
/* Create navigation item object & set the title of navigation bar. */
UINavigationItem* navItem = [[UINavigationItem alloc] initWithTitle:self.shoppingItem.name];
/* Create left button item. */
UIBarButtonItem* cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(onTapCancel:)];
navItem.leftBarButtonItem = cancelBtn;
/* Create left button item. */
UIBarButtonItem* doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(onTapDone:)];
navItem.rightBarButtonItem = doneBtn;
/* Assign the navigation item to the navigation bar.*/
[navbar setItems:@[navItem]];
/* add navigation bar to the root view.*/
[self.view addSubview:navbar];
독립형 탐색 모음의 Swift 버전에 대해서는 이 답변을 확인하십시오 .
👇🏻를 사용할 수도 있습니다.
[self.navigationController.navigationBar.topItem setTitle:@"Titlet"];
ViewDidLoad 메서드에서 사용
형식 :
@property(nonatomic,readonly,retain) UINavigationItem *navigationItem; // Created on-demand so that a view controller may customize its navigation appearance.
예 :
self.navigationItem.title = @"Title here";
매우 중요한 참고 사항 : 상위 뷰 컨트롤러의 viewDidLoad 메서드 또는 스토리 보드의 상위 탐색 모음에서 위에서 언급 한 변경을 수행했는지 확인하십시오.
때로는 제목을 업데이트하고 있는데 아무런 영향을 미치지 않는 경우가 발생할 수 있습니다. 이것은에 대한 사용자 정의보기가있는 경우 일 수 topItem
있으므로 다음과 같이 업데이트 할 수 있습니다.(self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"