[iphone] iPhone : 내비게이션 바 제목 설정

모두 안녕. 나는 여전히 iPhone 개발에 익숙하지 않으며 내비게이션 바의 제목을 변경하는 방법을 파악하는 데 약간의 어려움이 있습니다. 이 사이트의 다른 질문에서 누군가가 다음을 사용하도록 권장했습니다.

viewController.title = @"title text";

하지만 그것은 나를 위해 작동하지 않습니다 …이 작업을 수행하려면 UINavigationController를 추가해야합니까? 아니면 내 UIViewController 하위 클래스의 콘센트일까요? 도움이된다면 IB에서 탐색 모음을 정의하고 UIViewController 하위 클래스에서 제목을 설정하려고합니다. 이것은 나에게 두통을주는 단순한 것들 중 하나입니다. self.title = @ “제목 텍스트”; 안으로 viewDidLoad그리고 initWithNibName작동하지 않았습니다. 아무도 무슨 일이 일어나고 있는지, 어떻게 제대로 일어나고 있는지 알고 있습니까?

감사!



답변

.title속성이 적용 되려면 뷰 컨트롤러가 일부 UINavigationController의 자식이어야합니다 . UINavigationBar가 단순히보기 인 경우 제목이 포함 된 탐색 항목을 푸시하거나 마지막 탐색 항목을 수정해야합니다.

UINavigationItem* item = [[UINavigationItem alloc] initWithTitle:@"title text"];
...
[bar pushNavigationItem:item animated:YES];
[item release];

또는

bar.topItem.title = @"title text";


답변

당신은 모든 코드에 의해 그 일을하는 경우 viewDidLoad의 방법 UIViewController만 추가해야self.title = @"title text";

이 같은:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"title";
}

당신은 또한 시도 할 수 있습니다 self.navigationItem.title = @"title";

또한 navigationItem이 null이 아닌지 확인하고 탐색 모음에 사용자 지정 배경을 설정 한 경우 제목이 없는지 확인하십시오.


답변

사용하는 데 한 가지 문제가 있습니다. self.title = @"title";

탭 막대와 함께 탐색 막대를 사용하는 경우 위 줄은 탭 막대 항목의 레이블도 변경합니다. 이를 방지하려면 @testing이 제안한 것을 사용하십시오.

self.navigationItem.title = @"MyTitle";


답변

navbar 제목 (navbar back button title이 아님)을 변경하려면이 코드가 작동합니다.

self.navigationController.topViewController.title = @"info";


답변

tabBar 컨트롤러 내에서 navBar의 제목을 변경하려면 다음을 수행하십시오.

-(void)viewDidAppear:(BOOL)animated {
    self.navigationController.navigationBar.topItem.title = @"myTitle";
}


답변

내 탐색 기반 앱에서 다음을 수행합니다.

myViewController.navigationItem.title = @"MyTitle";


답변

TabbarController에 통합 된 탐색 컨트롤러가 있습니다. 이것은 효과가 있었다

self.navigationItem.title=@"title";