UINavigationBar-프로그래밍 방식으로 제목 설정?
각 탭에 다른보기가있는 탭 모음 응용 프로그램이 있습니다. 각 뷰에는 인터페이스 빌더에 제목이 설정된 UINavigationBar가 있습니다. ViewDidLoad 메서드의 절을 기반으로 제목을 변경하고 싶습니다. x {change the title}.
나는 시도 self.title = @"title"
했지만 이것은 탭 표시 줄 항목 자체의 제목을 변경합니다.
그래서, 이것은 어떻게 이루어 집니까?
다음과 같은 코드를 사용하여 프로그래밍 방식으로 제목을 설정했습니다.
navBar.topItem.title = @"title";
여기서 navBar는 인터페이스 빌더의 탐색 모음에 연결된 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"];
ViewController.m의 ViewDidLoad에서 다음과 같이 작성하십시오.
self.navigationItem.title=@"Hello World";
출력은 다음과 같습니다.
만들기 IBOutlet
의UINavigationBar
navigationBar.topItem.title = @"Title";
도움이 되었기를 바랍니다.
다음을 사용했습니다.
self.navigationController.navigationBar.topItem.title = @"Title";
그러나 viewDidLoad 내에서 호출 될 때 제목을 변경하지 않기 때문에 디스패치 블록에서 호출해야했습니다.
제목이 모두 표시 되려면 내비게이션 컨트롤러의 델리게이트를 내비게이션 바 자체로 설정해야합니다. 그렇지 않으면 제목이 표시되지 않습니다!
ViewController 또는 TableViewController 아래의 ViewDidLoad에서 제목을 설정할 수도 있습니다.
_title = @"Title";
또는
self.title = @"Title";
이 시도,
self.navigationItem.title = @"Your title";
나는 Swift 5에서 이런 식으로 달성했습니다.
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Title"
}
참고 URL : https://stackoverflow.com/questions/3680805/uinavigationbar-set-title-programmatically
'programing tip' 카테고리의 다른 글
APN 디바이스 토큰은 개별 앱마다 고유합니까? (0) | 2020.10.14 |
---|---|
Java Integer compareTo ()-왜 비교 대 빼기를 사용합니까? (0) | 2020.10.14 |
System.Security.Cryptography.RandomNumberGenerator 대신 C # 클래스 System.Random을 사용하는 이유는 무엇입니까? (0) | 2020.10.13 |
AngularJS에서 ng-repeat를 사용하여 100 개 중 6-10 개 결과 필터링 (0) | 2020.10.13 |
왜 strcpy 대신 strncpy를 사용해야합니까? (0) | 2020.10.13 |