0

我創建了一個視圖控制器數組,並將它們添加到UINavigation控制器,然後以模態方式呈現它們。導航控制器「後退按鈕」文本:模態地演示

但是,我不能將文本設置爲每個視圖中的「後退」按鈕,而不是單詞「後退」。

這是代碼:

//The View Controllers and Array 
VC1 *vc1 = [[VC1 alloc] initWithNibName:@"VC1" bundle:nil]; 
VC2 *vc2 = [[VC2 alloc] initWithNibName:@"VC2" bundle:nil]; 
VC3 *vc3 = [[VC3 alloc] initWithNibName:@"VC3" bundle:nil]; 
NSArray * viewControllers = [NSArray arrayWithObjects:vc3, vc2, vc1, nil]; 

// Create the nav controller and set the view controllers. 
UINavigationController* theNavController = [[UINavigationController alloc] 
initWithRootViewController:vc3]; 
[theNavController setViewControllers:viewControllers animated:NO]; 

// Display the nav controller modally. 
[self presentModalViewController:theNavController animated:YES]; 

我試圖在每一個VC的初始化以下內容:

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] init]; 
barButton.title = @"Acknowledge Briefings Read"; 
self.navigationItem.backBarButtonItem = barButton; 

...但它不工作。有任何想法嗎?非常感謝。

另外,相關的,我最好喜歡在「向前」的方向導航堆棧。這可能使用導航控制器嗎?

回答

0

在init中,您無法執行任何視圖明智的操作。您需要等待viewDidLoad(或者willAppear或didAppear),因爲在init中沒有繪製任何東西(在導航控制器的情況下,前一個項目會受到影響)。

這是我做的(在viewDidLoad中):

UIBarButtonItem *doneButon = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(doneButtonPressed)]; 
[self.navigationItem setRightBarButtonItem:doneButon]; 
+0

嗨,亞當,謝謝。你知道如何使用這種方法去導航控制器堆棧中的下一個視圖控制器嗎? – 2012-04-03 19:25:06

1

嘿它可能爲你工作:

self.navigationController.navigationBar.backItem.title = @"Acknowledge Briefings Read"; 

此代碼應該在去的viewController這是目前可見的。你應該在viewWillApear

乾杯

+0

謝謝!這工作。 – 2012-04-03 19:25:31

+0

哦,太好了,如果你願意,你可以接受答案...:P – Nilesh 2012-04-03 19:32:19

0

後退按鈕測試自動設定爲堆棧頂部的UIViewController的title屬性添加它。因此,在每個視圖控制器的viewDidAppear或viewDidLoad中,當新視圖被壓入堆棧時,將self.title設置爲您希望顯示在「返回」按鈕上的文本。

+0

謝謝。你知道如何讓按鈕出現在屏幕的右側嗎?我希望用戶可以看到VC的堆棧...在屏幕左側顯示nab按鈕 – 2012-04-03 19:27:48

+0

@LeeBarringer您應該閱讀View Controller Programming Guide來了解如何設計您的應用程序。 – 2012-04-03 19:39:24

+1

對於像這樣的非常具體的問題,它不是很好用。與我一樣,經驗是前進的方向,或缺乏這種方式,借鑑了本網站上非常善良的人的洞察力。 – 2012-04-03 20:21:22