0

我正在使用具有導航控制器的應用程序進行自我訓練,並且用戶可以在兩個視圖控制器之間切換。
根視圖控制器類被稱爲視圖控制器,這就是我如何編程在我的應用程序委託添加導航控制器:無法設置視圖控制器的back bar按鈕項的標題

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
navController= [[UINavigationController alloc]initWithRootViewController: viewController]; 
self.window.rootViewController= navController; 

這是navController:

@property (strong, nonatomic) UINavigationController* navController; 

第二視圖控制器被稱爲SecondViewController 。只要用戶點擊欄按鈕項目,我就按下它:

self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithTitle: @"Second View" style: UIBarButtonItemStylePlain target: self action: @selector(switchView:)]; 

這是第Ë選擇執行:

- (void) switchView : (id) sender 
{ 
    if(!nextController) 
    { 
     nextController= [[SecondViewController alloc]initWithNibName: @"SecondViewController" bundle: nil]; 
    } 
    [self.navigationController pushViewController: nextController animated: YES]; 
} 

然後在第二個視圖控制器自動顯示與標題「返回」的按鈕時,切換到第一view.That的沒什麼問題,但我想設置標題和所以我試圖改變標題:

self.navigationItem.backBarButtonItem.title= @"First View"; 

但是沒什麼可做的,標題仍然是「回」,我該如何改變它?

另外,是不是我遵循錯誤或不合理的方法,對吧?

回答

2

如果您設置ViewController類的viewDidLoadtitle屬性,該字符串會當你推SecondViewController到堆棧中出現後退按鈕的文字。

1

試試這個改變按鈕標題。初始化並添加您自己的leftBarButtonItem並隱藏股票後退按鈕。

UIBarButtonItem* backBtn = [[UIBarButtonItem alloc] initWithTitle:@"BUTTON_NAME" style:UIBarButtonItemStyleDone target:self action:@selector(backAction)]; 

self.navigationItem.leftBarButtonItem = backBtn; 
self.navigationItem.hidesBackButton = YES; 

你會想隱藏原來的後退按鈕,如果你可以,只是做一個backAction它可以是一些使用popViewcontrollerAnimated功能(如果你被推到開始與視圖 - 控制)。

- (void) backAction { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
+0

你讓我的一天 – user3524337

相關問題