在我的應用程序中,我希望使用「返回」文本作爲每個viewcontroller的後退按鈕標題。 我已閱讀了很多帖子在stackoverflow但沒有得到。更改UINavigationBar後退按鈕標題
我不想設置leftbarbuttonitem。
任何人都可以幫助我完成這個簡單的任務。
感謝,
在我的應用程序中,我希望使用「返回」文本作爲每個viewcontroller的後退按鈕標題。 我已閱讀了很多帖子在stackoverflow但沒有得到。更改UINavigationBar後退按鈕標題
我不想設置leftbarbuttonitem。
任何人都可以幫助我完成這個簡單的任務。
感謝,
不符合兒童
斯威夫特爲此在父視圖控制器
navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)
Objetive-C
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
父視圖控制器:訣竅。 –
Swift中測試過的和世界好的iOS 9.3.2 – rustylepord
navigationItem.backBarButtonItem = UIBarButtonItem(title:「」,style:.plain,target:nil,action:nil) – Lucas
試試這個希望這將是工作
UIBarButtonItem *btn =
[[UIBarButtonItem alloc] initWithTitle:@"New Title"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
[[self navigationItem] setBackBarButtonItem:btn];
感謝您的回覆。我已經嘗試過,但沒有工作。 –
在視圖中添加此行,並從您切換下一個視圖控制器的位置加載方法。像你要從主視圖控制器detailview控制器(有後退按鈕),然後添加它在masterview控制器viewdidload方法@SeemaSharma – morroko
我已經寫在父視圖控制器,它的工作原理。謝謝!!! –
SWIFT 2.0:
override func viewWillAppear(animated: Bool) {
self.navigationController!.navigationBar.topItem?.title = ""
}
Note: It works only if storyboard have a chain of navigation stack.
其他選項/更改標題:
self.navigationController?.navigationBar.backItem?.title = ""
navigationItem.backBarButtonItem?.title = ""
navigationItem.leftBarButtonItem?.title = ""
刪除navigationItem:
navigationItem.setLeftBarButtonItem(nil, animated: true)
雖然這段代碼可能會回答這個問題,但最好解釋它的作用併爲其添加一些參考。 – dotctor
我需要使用self.navigationController.navigationBar.backItem.title = @"";
,區別在於我使用的是backItem
而不是topItem
。
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
要刪除後退按鈕標題爲所有視圖控制器添加新雨燕的文件,這extintion複製到
import UIKit
extension UIViewController {
static func swizzle(){
let orginalSelector = #selector(viewDidLoad)
let swizzledSelector = #selector(swizzledViewDidLoad)
let orginalMethod = class_getInstanceMethod(UIViewController.self, orginalSelector)
let swizzledMethod = class_getInstanceMethod(UIViewController.self, #selector(swizzledViewDidLoad))
let didAddMethod = class_addMethod(UIViewController.self, orginalSelector, method_getImplementation(swizzledMethod!), method_getTypeEncoding(swizzledMethod!))
if didAddMethod {
class_replaceMethod(UIViewController.self, swizzledSelector, method_getImplementation(orginalMethod!), method_getTypeEncoding(orginalMethod!))
}else{
method_exchangeImplementations(orginalMethod!, swizzledMethod!)
}
}
@objc func swizzledViewDidLoad(){
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
swizzledViewDidLoad()
}
}
後,在AppDelegate中
內didFinishLaunchingWithOptions,調用拌和FUNC。
UIViewController.swizzle()
本功能使用的客觀C運行時與另一個去除後退按鈕標題交換viewDidLoad
方法,然後它裏面回想當初viewDidLoad
現在,您可以將其設置在故事板。 – AMayes