2012-05-02 109 views
1

我與標籤欄控制器的應用程序(具有4次控制器),並且它包含一個導航控制器。所有這些都是以編程方式創建的。 我的問題: 有沒有辦法如何設置一個導航欄標題爲所有視圖控制器?例如:當我切換標籤時,標題是一樣的。我的理想解決方案是在應用程序委託文件中設置標題。非常感謝iPhone一個標題的所有視圖控制器

+0

這可能不是一個好問題。你有一個導航控制器,你可以通過setTitle來識別你的tabbar控制器中的每個選項卡。如果你想從所有選項卡給導航欄同名,那麼爲什麼選擇了tabbar-controller? –

+0

由於我的應用程序有4個不同的選項卡,我將使用導航欄標題來顯示實際的GPS速度 – mysho

回答

1

如果你知道會有正好4次控制器,只是做self.title = @"your title";如果你想改變「你的標題」一次,並讓他們都改變了,只需創建一個靜態全局或使用的plist。並把代碼viewDidAppear下,使其刷新每次。不需要做任何太複雜的事情:)

+0

我將從「位置管理器」方法更改此標題(didUpdateToLocation ...)當位置發生變化時,以實際速度更新標題。我的「位置管理器」功能在應用程序委託中,所以我需要從這個「didUpdateToLocation」方法設置標題。這就是我想要的 – mysho

+0

那麼,當你的方法'didUpdateToLocation'被調用時,只需設置你的全局'globalTitle = @「我的位置;'(*我的位置就是你需要的標題*)然後更新當前頁面'self.title = globalTitle;'。利潤? – Byte

-1

嘗試是這樣的(我沒有訪問Xcode的ATM因此請首先對其進行調試):

for (int i = 0; i < [[tabBarController viewControllers] count]; i++) { 
    [tabBarController objectAtIndex:i].title = @"This is the title"; 
} 
1

您可以創建UIViewController一個非常基本的子類,並設置其標題。然後,只要有你的其他UIViewController子類從這個基類,而不是直接從UIViewController繼承。

2

對於你們所有人,我認爲你想在那裏放置一個日誌,並且它將圖像文件設置爲標籤欄子視圖並設置視圖控制器的高度減去標籤欄圖像

UIImageView *navImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:IMG_LOGO]]; 
//[navImage setCenter:CGPointMake(160, 21)]; 
[navImage setCenter:CGPointMake(160, 21)]; 
[self.navigationController.navigationBar addSubview: navImage]; 
[navImage release]; 
相關問題