在開發IOS的時候發現當從一個ViewController跳轉到另一個ViewController時,被跳轉到的那個ViewController的返回按鈕總是顯示的是上個ViewController的title。如果上個ViewController的title內容比較多的話會顯得界面比較亂,所以我想要實現的是返回按鈕只顯示“Back”。
開發環境
IOS:10
Xcode:8
返回按鈕的顯示邏輯
想要知道怎么實現自己想要的功能首先要掌握相關的理論知識,下面舉個例子說明。
假如從ViewController:A跳轉到了B,那么B的返回按鈕的顯示遵循下面原則:
1. 如果A定義了BackBarButtonItem,那么B會顯示A定義的BackBarButtonItem;
2. 如果B定義了LeftBarButtonItem,那么B會顯示自己的LeftBarButtonItem;
3. 如果A未定義BackBarButtonItem,B也未定義LeftBarButtonItem,那么B會顯示系統默認的返回按鈕。
實現返回按鈕只顯示“Back”
從上一節的理論可以看出我們只要實現原則”1“就可以到達我想要的即在A中定義BackBarButtonItem:
在A的ViewDidLoad方法中加入下面語句
self.navigationController?.navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil);
