[ios] 프로그래밍 방식으로 탐색 모음의 제목을 설정하는 방법은 무엇입니까?

보기에 탐색 모음이 있고 탐색 항목 제목을 프로그래밍 방식으로 변경하려고합니다.

어떻게하나요?



답변

UIViewController에서

self.navigationItem.title = @"The title";


답변

Swift 3 버전 :

내비게이션 컨트롤러없이 내비게이션 바를 사용하는 경우 다음을 시도해 볼 수 있습니다.

navigationBar.topItem?.title = "Your Title"

도움을 바랍니다.


답변

viewDidLoad에서

  self.title = @"Title";


답변

에서 애플 문서 :

탐색 모음을 사용하는 가장 일반적인 방법은 탐색 컨트롤러를 사용하는 것입니다. 앱에서 탐색 모음을 독립 실행 형 개체로 사용할 수도 있습니다.

따라서 UINavigationController가있는 경우 탐색 모음의 제목을 설정하기 위해 수행해야하는 모든 작업 (모든 이전 답변에서 설명한대로)

self.navigationItem.title = @"title";

그러나 UIViewController의 개체 내에서 프로그래밍 방식으로 생성 된 독립형 탐색 모음이있는 경우 적절한 UINavigationItem 개체를 만들고 탐색 모음 개체 스택에 추가하여 탐색 모음의 초기 모양을 설정해야합니다.

  1. 탐색 모음 (UINavigationBar)의 인스턴스 만들기
  2. UINavigationBar 개체에 표시 할 단추 및보기를 관리하는 탐색 모음 항목 (UINavigationItem)의 인스턴스를 만듭니다. 이 단계에서 제목을 설정합니다.
  3. (선택적 단계) 오른쪽 / 왼쪽 버튼 (UIBarButtonItem 인스턴스)을 탐색 모음 항목에 추가합니다.

언급 된 단계에 대한 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 버전에 대해서는 이 답변을 확인하십시오 .


답변

아래 코드를 작성 viewDidLoad하거나 더 좋을 수 있습니다.initWithNibName:

  self.navigationItem.title = @"title";

감사.


답변

??를 사용할 수도 있습니다.

[self.navigationController.navigationBar.topItem setTitle:@"Titlet"];


답변

이 코드는 나를 위해 작동하지 않았습니다.

self.navigationItem.title = @"Title here";

그러나 이것은 효과가있었습니다.

self.title = "Title Name"