programing

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

nasanasas 2020. 9. 17. 07:59
반응형

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";

기본적으로 탐색 컨트롤러는 '상위 항목'의 제목을 표시합니다.

그래서 appdelegate의 viewdidload 메소드에서 할 수 있습니다. 나는 그것을 테스트하고 작동합니다.

navController.navigationBar.topItem.title = @"Test";

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

이 코드는 작동했습니다.


스토리 보드로 작업하는 경우 컨트롤러를 클릭하고 속성 탭으로 전환 한 다음 제목 텍스트를 설정할 수 있습니다.


IB에서 설정하지 않은 동적 제목이 필요하다고 생각합니다.

그리고 viewController 객체가 NIB에 지정된 것이라고 가정합니다.

IB에서 더미 값으로 설정 한 다음 메서드를 디버그하여 더미 값이있는 컨트롤러를 확인합니다. 제목으로 표시된다고 가정합니다.


TableViewController.m 내에서 :

self.navigationController.navigationBar.topItem.title = @"Blah blah Some Amazing title";


For all your Swift-ers out there, this worked perfectly for me. It's notably one of the shorter ways to accomplish setting the title, as well:

override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  if segue.identifier == "presentLineItem" {
    print("Setting Title")
    var vc = segue.destinationViewController as! LineItemsTableViewController
    vc.navigationItem.title = "Line Item"
  }
}

What worked for me was self.titleLabel.text = @"New Title";

참고URL : https://stackoverflow.com/questions/2280710/iphone-setting-navigation-bar-title

반응형