我在Storyboard項目中爲導航欄創建了一個標題,但是當我移動到下一個viewcontroller時,後退按鈕顯示與我上一個導航欄(主導航欄)標題相同的名稱。我可以設置單獨的標題和後退按鈕名稱嗎?導航欄標題和返回按鈕名稱是否相同?
我試過下面的代碼,但它不工作?爲什麼?
[email protected]"Recent Books";
[email protected]"Back";
我在Storyboard項目中爲導航欄創建了一個標題,但是當我移動到下一個viewcontroller時,後退按鈕顯示與我上一個導航欄(主導航欄)標題相同的名稱。我可以設置單獨的標題和後退按鈕名稱嗎?導航欄標題和返回按鈕名稱是否相同?
我試過下面的代碼,但它不工作?爲什麼?
[email protected]"Recent Books";
[email protected]"Back";
根據UINavigationItem Class Reference
「當該導航產品立即在 堆棧頂部項目下方,導航控制器導出用於從該導航項目的 導航欄的返回按鈕。[ ...]如果您想爲後退按鈕指定 自定義圖片或標題,則可以將 酒吧按鈕項目(包含您的自定義標題或圖像)分配給此屬性 。
所以,從那裏你正在推動其他VC
[email protected]"Recent Books";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
self.navigationItem.backBarButtonItem=backButton;
@Bhargavi ...非技術性錯誤..現在確定 – Naveen 2013-04-05 10:06:59
我有兩個BarButton定製在我的第一個視圖上,左邊是「Information」,右邊是「設置」。然而,我必須在第一個視圖中爲BackButton設置一個名稱。在我的組件樹中,現在有三個BarButton,但是當我運行應用程序時,一切正常。簡直沒有道理。 – 2015-05-25 13:02:51
試試這個在您的第一個VC下面應該解決您的問題
-(void)viewDidAppear:(BOOL)animated
{
self.navigationController.navigationBar.backItem.title = @"back";
}
您也可以使用這個Objective-C的語法
[[self.navigationController.navigationBar backItem] setTitle:@"back"];
假設您正在推動您的viewcontro米勒甲 - >乙
在視圖 - 控制一個嘗試viewDidLoad
方法添加該代碼
UIBarButtonItem *btn_Back = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem=btn_Back;
所以,你會看到在視圖控制器B您的「返回」按鈕
只管去做這樣,一個最簡單的方法我也發現到現在:
創建自定義後退按鈕,並將其添加到導航欄左鍵項目屬性:
- (void)viewDidLoad
{
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *backBtnImage = [UIImage imageNamed:@"Backnavigation.png"] ; // Here set the back button image
[backBtn setBackgroundImage:backBtnImage forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(handleBack:) forControlEvents:UIControlEventTouchUpInside];
backBtn.frame = CGRectMake(0, 0, 24, 24);
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:backBtn] ;
self.navigationItem.leftBarButtonItem = backButton;
}
//Handle the Back Button Event
- (void) handleBack:(id)sender
{
// do your custom handler code here
[self.navigationController popViewControllerAnimated:YES];
}
另外,通過這種方式,您不需要每次更改NavigationBar的標題。
這是給你參考的後退按鈕:
請看看我的答案 http://stackoverflow.com/questions/9871578/how-to-change-the-uinavigationcontroller-back-按鈕名稱/ 9871775#9871775 – Tendulkar 2013-04-05 09:29:10
該答案對我而言不起作用 – Naveen 2013-04-05 09:56:29