[英]Change the title of backbutton in NavigationBar
按照這個問題的許多重復的例子,我似乎無法做到正確。
我有一個UINavigationViewController,它有一個LoginViewController作為rootViewController。 在這里,我得到一個帶有segue(push)的按鈕到LoginInfoViewController。
在LoginInfoViewController.m中:
- (void)viewDidLoad
{
[super viewDidLoad];
//null
NSLog(@"%@", self.navigationItem.backBarButtonItem);
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Test"
style:UIBarButtonItemStyleDone
target:nil
action:nil];
self.navigationItem.backBarButtonItem = backButton;
//not null, still the back button says: "Back"
NSLog(@"%@", self.navigationItem.backBarButtonItem);
}
在BEFORE上設置后視圖的標題。 因此,如果您從LoginViewController
,則在切換到LoginInfoViewController
之前在項目上設置后退按鈕標題
例:
在LoginViewController
上的viewDidLoad
方法中:
UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"Go back" style: UIBarButtonItemStyleBordered target: nil action: nil];
[[self navigationItem] setBackBarButtonItem: newBackButton];
這意味着您要在LoginViewController
上設置按鈕,而不是在LoginInfoViewController
上設置按鈕。
您需要設置要返回的控制器的backBarButtonItem
,而不是您推送的控制器。 將代碼移動到LoginViewController
viewDidLoad方法。
導航控制器從backBarButtonItem
中前一個控制器的backBarButtonItem
派生導航欄的后退按鈕。 如果該項為nil,則它將使用title屬性中的值。 如果標題太長而不適合,導航欄可以替換字符串“Back”代替標題。 如果您的控制器有一個自定義左欄按鈕項,導航欄將忽略backButtonItem
屬性和標題,而是顯示自定義按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.