놀랍지는 여러 섹션으로 표준 탭 표시 줄 컨트롤러입니다. 각 섹션 (탭)에는 두 개의보기 컨트롤러 (기본 tableview + detailview 설치 유형)를 제어하는 탐색 컨트롤러가 있습니다. 이제 6 번째 탭을 추가 했으므로, iOS는 마지막 두 탭을 제어하는 기본 "추가"탭을 만듭니다. 탐색 모음의 가운데에있는 "추가"텍스트를 제거해야합니다 (참고 : 단추 텍스트 또는 탭 자체가 아닙니다). 탐색 모음에 사용자 정의 배경 이미지를 적용해야합니다.설정 "추가 탐색 컨트롤러의"titleView 텍스트
참고 :이 질문은 "추가"탐색 모음 사용자 지정에 대한 것입니다. iOS가 아닌 모든 탐색 모음에서 배경 이미지와 titleView 텍스트를 성공적으로 수정했습니다. 내 응용 프로그램 위임에
는 응용 프로그램이 함께 thusly 히 넣어 :보기 컨트롤러 만들기 :
ViewController1 *vc1 = [ViewController1 alloc] [email protected]"View1" bundle:nil];
vc1.title = @"VC1";
vc1.tabBarImage.image = [UIImage imageNamed:@"image1.png"];
반복 뷰 컨트롤러 VC2에 대해 위의 루틴 5 번 이상 VC6을 통해.
는 개인 네비게이션 컨트롤러를 만듭니다
UINavigationController *nc1 = [UINavigationController alloc] initWithRootViewController:vc1];
반복 5 번 이상 탐색 컨트롤러 NC2에 대한 - nc6을.
위에서 완벽하게 작동 코드의 모든
self.tabBarController.viewControllers = [NSArray arrayWithObjects: vc1, vc2, vc3, vc4, vc5, vc6, nil];
탭 바 컨트롤러에 탐색 컨트롤러를 추가합니다. 문제 없음.
나는 다음 thusly 히 더 많이 탐색 컨트롤러에 사용자 정의 배경 이미지를 추가 :
if (self.tabBarController.moreNavigationController){
if ([self.tabBarController.moreNavigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
UIImage *image = [UIImage imageNamed:@"navlogo.png"];
[self.tabBarController.moreNavigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
} else {
UINavigationBar *navbar = self.tabBarController.moreNavigationController.navigationBar;
UIImage *headerImg = [UIImage imageNamed:@"navlogo.png"];
[navbar setBackgroundImage:headerImg forBarMetrics:UIBarMetricsDefault];
}
}
를이 너무 잘 작동합니다. 문제 없음
내 사용자 정의 배경에 클라이언트의 로고 데드 센터가 포함되어 있으므로 기본적으로 "기타"라는 제목의 텍스트를 제거해야합니다. 참고로, 네비게이션 버튼의 텍스트가 아니라 네비게이션 바 중앙에있는 라벨에 대해 이야기합니다.
논리적으로, 하나는이 일 것이라고 생각할 겁니다 :
UILabel *label = [[UILabel alloc] init];
label.text = @"";
self.tabBarController.moreNavigationController.navigationItem.titleView = label;
을 ... 나는 등 self.tabBarController.moreNavigationController에 대한 self.navigationItem.titleView을 대체 개별 뷰 컨트롤러의 모든이 작업을 수행하기 때문에
하지만 작동하지 않습니다! 내 모든 탐색 컨트롤러에서 배경 코드와 titleView 텍스트를 성공적으로 변경할 수 있습니다 (다시, self.navigationController.navigationItem을 moreNavController 항목으로 대체 ...). 그러나 앱 델리게이트에서는 배경 이미지 만 설정할 수 있지만 More nav 컨트롤러의 titleView는 설정할 수 없습니다.
모든 해결책을 주시면 감사하겠습니다.
VB 응용 프로그램에서
답장을 보내 주셔서 다시 한 번 감사드립니다. 귀하의 솔루션은 실제로 탭 제목을 그대로두고 탐색 모음 맨 위에서 제목을 제거합니다. 그러나 More Nav Controller에 포함 된 nav 컨트롤러의 뒤로 버튼을 누클 릴 때 불행한 부작용이 있습니다. 나는 파기를 계속하고 잘하면 답변을 게시 할 것입니다. –