2011-12-21 6 views
0

여기에 viewDidLoad 및 viewWillAppear로 작성된 코드 행은 있지만 여전히 uitabbar 항목 제목은 변경되지 않습니다.uitabBarItem의 제목을 NIB 파일 또는 prorammatically로 변경하는 방법

[[self.userTabBarController.viewControllers objectAtIndex : 1] setTitle : @ "Your title"]; userTabBarController이

IBOutlet UITabBarController *userTabBarController; 

내 TabBar의이

3 개의 탭을 가지고 있으며, 이러한 3 가지의 ViewController로 CONECTING하고는 벌금을로드하는 것입니다.

제목이 설정되지 않는 이유는 코드가 정상적으로 보입니다.

답변

2

이 시도 :

self.title = @"my title"; 

을있는 viewDidLoad에 : 그것은 당신을 위해 작동하지 않았기 때문에

MyViewController *viewController = [self.userTabBarController.viewControllers objectAtIndex:1] 

[viewController setTitle:@"Your title"]; 

나는 당신의 tabbarcontroller의 뷰 컨트롤러의 구현 파일에 가서 간단하고 제안 방법.

+0

아니하기 전에, 그것은 작동하지 않습니다 게시 한 사람에서 같은 모양 사촌. 이 라인 코드를 쓸 곳은 어떤 기능을 의미합니까? –

+0

@Ajay_Kumar ViewController 구현 파일과 viewDidLoad에 가도록 권합니다. self.title = @ "내 제목" –

+0

내 첫 번째 tab viewController 이름은 homescreenvc이고 'self.title = @ "내 제목"; 'viewDidload하지만 아무 일도, 여전히 제목이 보이지 않습니다. nib 파일의 각 탭에 제목을 넣었지만 또한 거기에서로드되지 않습니다. –

0

이 시도 : NIB, 뷰 컨트롤러의 제목 속성을 설정 this.will 작업

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) 
    { 
     [self setTabBarItem:[[UITabBarItem alloc] initWithTitle:@"Aktuelles" image:[UIImage imageNamed:@"News.png"] tag:0]]; 
     self.title = @"Aktuelles"; 
    } 
    return self; 
} 
+0

위의 코드를 viewDidload에 썼지 만 여전히 아무 일도 일어나지 않았습니다. 다른 장소에서 잘못했거나 일반적인 문제입니까? 나는 모든 코드가 똑같아 보이는 모든 곳을 수색했다. –

+0

디버그하여 tabBarItem에 유효한 주소가 있는지 확인하십시오. 콘솔에 다음과 같이 입력하십시오 (디버그 모드에서) : po tabBarItem.title 그리고 어떤 문자열을 볼 수 있습니까? –

+0

viewAddress, viewDidAppear, viewWillAppear 및 awakeFromNib 중 하나를 호출하는 것으로 나타났습니다. Xcode 파일은 화면에 잘 나타나기 때문에 로딩 중입니다. –

0

을 그 awakeFromNib 방법 :

- (void) awakeFromNib 
{ 
    self.title = "My Title"; 
} 
0

처럼 viewController..change 당신의 initWithNibName 방법의하는 .m 파일에

UITabBar *tabBar = self.userTabBarController.tabBar; 
UITabBarItem *tabBarItem = [[tabBar items] objectAtIndex:0]; 
[tabBarItem setTitle:@"New Title"]; 
0

당신은 IB에 탐색 할 수 있습니다 또는 당신이 원하는 경우 AppDelegate에 파일에없는 그것을 설정하는 당신은이를 사용할 수 있습니다

[[self.parentViewController.tabBarController.tabBar.items objectAtIndex:0] setTitle:@"new title 1"]; 
[[self.parentViewController.tabBarController.tabBar.items objectAtIndex:1] setTitle:@"new title 2"]; 
[[self.parentViewController.tabBarController.tabBar.items objectAtIndex:2] setTitle:@"new title 3"]; 

편집 : 그것은 나 XP에서

0
UITabBarItem *item = [self tabBarItem]; 
item.title = @"Hi"; 
관련 문제