修改navigationItem.backBarButtonItem.title的值無效的解決辦法


在iphone開發中,設置navigationController中返回按鈕的標題,默認為前一個視圖中標題的title(請注意,必須是前一個視圖控制器!!!backBarButtonItem屬性是對應於本視圖控制器的下一級控制器的返回按鈕,區別於leftBarButtonItem)。

如果設置,在前一個視圖中寫下:

20

 
          
  1. UIBarButtonItem *temporaryBarButtonItem=[[UIBarButtonItem alloc] init];  
  2. temporaryBarButtonItem.title=@"Back";  
  3. self.navigationItem.backBarButtonItem = temporaryBarButtonItem;  
  4. [temporaryBarButtonItem release]; 

為何直接設置

   

backBarButtonItem的title無效呢?

查看蘋果文檔UIBarButtonItem的父類UIBarItem的title屬性描述:

   You should set this property before adding the item to a bar. The default value is nil.而  

backBarButtonItem原本就內置,故無法修改其title,只能重置這個控件本身。

針對這種情況,解決辦法如下:

在第一級頁面的viewDidLoad方法中加入以下代碼:   UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
  temporaryBarButtonItem.title =@"返回";
  self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
  [temporaryBarButtonItem release];  
 也就是用一個新的按鈕在進行導航前將原來的返回按鈕替換掉就可以了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM