programing

UI 탐색 모음 - 제목을 프로그래밍 방식으로 설정하시겠습니까?

iphone6s 2023. 9. 9. 09:10
반응형

UI 탐색 모음 - 제목을 프로그래밍 방식으로 설정하시겠습니까?

탭마다 보기가 다른 탭 바 애플리케이션이 있습니다.각 보기에는 Interface Builder에 제목이 설정된 UIN 탐색 막대가 있습니다.ViewDidLoad 메서드의 절을 기준으로 제목을 변경하고 싶으므로 x {이(가) 제목을 변경합니다.

난 시도했다.self.title = @"title", 그러나 탭 바 항목 자체의 제목이 변경됩니다.

그럼 어떻게 되는 겁니까?

코드를 사용해 프로그래밍 방식으로 제목을 설정했습니다.

navBar.topItem.title = @"title";

navBar는 interface builder의 탐색 바에 연결된 IBOutlet UINavigationBar로 선언됩니다.이것은 제 앱에서 작동했지만, 저는 탭 바를 사용하고 있지 않았습니다.

navBar.topItem이 탭바 항목인 경우 navBar의 topItem과 탭바 항목이 동일한 개체이므로 탭바 항목의 제목을 변경하지 않고 탐색바에 나타나는 제목을 변경할 방법이 없습니다.

사용하다

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

설정대로navBar.topItem.title모든 상황에서 작동하지 않을 것입니다.

사용 방법:

    CGRect navBarFrame = CGRectMake(0, 0, self.tableView.frame.size.width, 44.0);
    UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:navBarFrame];

    UINavigationItem *navItem = [UINavigationItem alloc];
    navItem.title = @"Your Title";

    [navBar pushNavigationItem:navItem animated:false];

[self.view addSubView:navBar]; 

아니면

self.tableView.tableHeaderView = navBar; etc

클래스가 UIViewController의 한 유형인 경우 viewDidLoad 메서드에 주어진 대로 제목을 설정할 수 있습니다.

    [self setTitle:@"My Title"];

만들다IBOutletUINavigationBar

navigationBar.topItem.title = @"Title";

도움이 되길 바랍니다.

ViewController.m의 ViewDidLoad에 다음과 같이 적습니다.

self.navigationItem.title=@"Hello World";

출력은 다음과 같습니다.

enter image description here

다음을 사용했습니다.

self.navigationController.navigationBar.topItem.title = @"Title";

하지만 뷰 DidLoad w/o에서 호출해도 제목이 변경되지 않아 디스패치 블록에서도 호출할 수 밖에 없었습니다.

제목이 표시되기 위해서는 네비게이션 컨트롤러 대리인을 네비게이션 바 자체에 설정해야 합니다. 그렇지 않으면 제목이 표시되지 않습니다!

스위프트 5에서 이 방법을 달성했습니다.

override func viewDidLoad() {
    super.viewDidLoad()
    navigationItem.title = "Title"
}

다음을 사용하여 ViewController 또는 TableViewController 아래의 ViewDidLoad에서 제목을 설정할 수도 있습니다.

_title = @"Title";

아니면

self.title = @"Title";

이거 먹어봐요.

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

언급URL : https://stackoverflow.com/questions/3680805/uinavigationbar-set-title-programmatically

반응형