我通過庫添加UINavigationBar來查看。我還將UINavigationItem添加到此導航欄中。導航後退按鈕不顯示,如何將後退按鈕添加到UINavigationItem
在viewController.m中,我添加了下面的代碼,但後退按鈕不顯示。
self.navigationItem.title = @"List";
self.navigationItem.backBarButtonItem.title = @"Back";
我通過庫添加UINavigationBar來查看。我還將UINavigationItem添加到此導航欄中。導航後退按鈕不顯示,如何將後退按鈕添加到UINavigationItem
在viewController.m中,我添加了下面的代碼,但後退按鈕不顯示。
self.navigationItem.title = @"List";
self.navigationItem.backBarButtonItem.title = @"Back";
self.navigationItem.backBarButtonItem
將示出的有推只有一個又一個視圖到導航堆棧,由self.navigationController
控制,如果顯示導航欄上沒有左鍵。
從蘋果文檔:
當此項目是導航的背面項棒當其下面的下一個項目的頂部項目 - 它可以被表示爲導航欄上的後退按鈕。使用此屬性來指定後退按鈕。您設定的背面按鈕項目的目標和動作應爲零。默認值是顯示導航項目標題的欄按鈕項目。
謝謝你的info.Currently我不使用推送的視圖導航堆棧。我使用addSubView方法從主視圖中調用此視圖。所以如何將bar按鈕項添加到我的navigationItem或如何啓用back bar按鈕項。 –
您應該創建自定義按鈕並將其設置爲'self.navigationItem.leftBarButtonItem'。查看答案@ 516 – Nekto
我試了一下,但還是沒有顯示。 –
試試這個代碼,
**To hide your default back button use this,**
self.navigationItem.hidesBackButton = YES;
UIImage* image = [UIImage imageNamed:@"back.png"];
CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);
UIButton* backbtn = [[UIButton alloc] initWithFrame:frame];
[backbtn setBackgroundImage:image forState:UIControlStateNormal];
[backbtn setShowsTouchWhenHighlighted:YES];
[backbtn addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backbtn];
[self.navigationItem setLeftBarButtonItem:backButtonItem];
[backButtonItem release];
[backbtn release];
操作事件的後退按鈕:
-(IBAction)goBack{
//ur code here
}
試試這個代碼,可能是它的幫助下到U
UIButton *moreButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
[moreButton1 setImage:[UIImage imageNamed:@"left_arrow.png"] forState:UIControlStateNormal];
//[moreButton setImage:[UIImage imageNamed:@"Button_OtherInfo_Active.png"] forState:UIControlStateHighlighted];
[moreButton1 addTarget:self action:@selector(backClick) forControlEvents:UIControlEventTouchUpInside];
[moreButton1 setFrame:CGRectMake(0, 0, 50,30)];
self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc] initWithCustomView:moreButton1];
把這個代碼在viewDidLoad
-(void)backClick
{
[self.navigationController popViewControllerAnimated:YES];
}
這是有點老了,但如果有人在尋找一個答案......
後退按鈕會自動顯示,但當前視圖(而不是一個被推送)需要有一個標題。例如:
- (void)viewDidLoad
{
self.title = @"Home";
[super viewDidLoad];
}
然後,當你推的視圖到圖堆棧
[self.navigationController pushViewController:aViewController animated:YES];
返回按鈕顯示出來。無需混淆UINavigationItem或UINavigationBar。使用這些來自定義導航欄。看一下名爲NavBar的示例項目,它是xcode的一部分。
試試這個:
self.navigationItem.leftItemsSupplementBackButton = YES;
如果您定製具有UIBarButtonItems您的導航控制器框架默認情況下刪除後退按鈕,因爲它假設您自定義導航欄。使用該行再次添加後退按鈕。
你試過'self.navigationItem.hidesBackButton = NO'嗎? – EmptyStack
只是後退按鈕沒有顯示或整個導航欄? – HeikoG
我只是有這個問題,這解決了它對我來說:http://stackoverflow.com/questions/2485671/uinavigationcontroller-back-button-not-visible-but-works – banDedo