2013-07-12 306 views
0

好的,有一件事我真的不明白。UINavigationController TitleView - 需要澄清

我有一個導航控制器(在AppDelegate.m創建)如在標籤欄控制器中的第一項(在AppDelegate.h創建):

self.tabBarController.viewControllers = @[tabOneNavigationController, viewController2, viewController3, viewController4, viewController5]; 

在另一個類中,我通過訪問此tabOneNavigationController:

AppDelegate *apd = (AppDelegate *) [[UIApplication sharedApplication] delegate]; 
UINavigationController *navtab1 = [apd.tabBarController.viewControllers objectAtIndex:0]; 

如果我想改變navtab1的導航欄的背景,我寫:

[navtab1.navigationBar setBackgroundImage:navigationBackgroundImage forBarMetrics:UIBarMetricsDefault]; 

但對於改變titleview的,我只用看到的例子:

self.navigationItem.titleView = ... 

,但我怎麼也改變navtab1的titleview的?

例子:我有一個自定義TableViewCell,其中包含一個按鈕,當該按鈕的點擊,就應該改變navtab1的titeView(在這種情況下,自己明明沒有navigationItem財產

+0

想必表格單元格是在當前俯視圖續導航控制器中的滾輪(不是其他選項卡中的一個)? – Wain

回答

0

這裏的。使用UINavigationController代表梅索德,此代碼可能會在你的情況是有幫助的:

#pragma mark - 
#pragma mark - UINavigationController Delegate Methods 

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
{ 
    UINavigationBar *morenavbar = navigationController.navigationBar; 
    UINavigationItem *morenavitem = morenavbar.topItem; 
    morenavitem.titleView = myCustomeView; // Add Here your custom UIView. 
    morenavitem.rightBarButtonItem.tintColor = [UIColor blackColor]; 

} 

在上述方法中,你也放NavigationBar圖像/顏色