你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 改變導航欄返回按鈕的標題實例詳解

IOS 改變導航欄返回按鈕的標題實例詳解

編輯:IOS開發綜合

IOS 改變導航欄返回按鈕的標題實例詳解

前言:

下午又找到了一個新的方法 這個方法不錯 暫時沒有發現異常的地方。

   新寫的App中需要使用UINavigationController對各個頁面進行導航,但由於第一級頁面的title較長,在進入第二級頁面後返回按鈕leftButtonItem的title就會變得很長,對NavigationBar空間占用很大,而且不美觀,於是使用代碼對leftButtonItem的title文本進行修改,無論是設置self.navigationItem.leftBarButtonItem.title = @"返回";還是self.navigationItem.backBarButtonItem.title = @"返回";都沒有效果,title文本始終不會發生變化。到網上亂搜一通後,得到了以下解決方法,相對來說比較簡單,特記錄如下:

    在第一級頁面的viewDidLoad方法中加入以下代碼:

UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init]; 
 temporaryBarButtonItem.title = @"返回"; 
 self.navigationItem.backBarButtonItem = temporaryBarButtonItem; 
 [temporaryBarButtonItem release];   

也就是用一個新的按鈕在進行導航前將原來的返回按鈕替換掉就可以了。

可以如下設置 但是這樣的缺點是那個按鍵會變成方形 可以添加圖片來進行修改。

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" 
       style:UIBarButtonItemStyleBordered 
       target:self 
       action:@selector(backToPrevious)]; 
   
  self.navigationItem.leftBarButtonItem = backButton; 
  [backButton release]; 
 
- (void)backToPrevious 
{ 
  [self.navigationController popViewControllerAnimated:YES]; 
} 

添加圖片的相關代碼如下

UIButton *leftButton = [[UIButtonalloc] initWithFrame:CGRectMake(0, 0, 60, 40)]; 
  [leftButton setTitle:@"返回"forState:UIControlStateNormal]; 
  [leftButton setImage:[UIImageimageNamed:@"UINavigationBar.png"] forState:UIControlStateNormal]; 
  [leftButton setImage:[UIImageimageNamed:@"UINavigationBar.png"] forState:UIControlStateHighlighted]; 
  [leftButton addTarget:selfaction:@selector(leftAction:) forControlEvents:UIControlEventTouchUpInside]; 
  UIBarButtonItem *leftItem = [[UIBarButtonItemalloc] initWithCustomView:leftButton]; 
  [leftButton release]; 
  self.navigationItem.leftBarButtonItem = leftItem; 
  [leftItem release]; 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved