2013-08-22 193 views
1

我有一個「FairListViewController」。這是第一個ViewController。在這裏通過觸摸tableCell,我可以去下一個是「MenuViewController」。並且有兩個按鈕,「ProductViewController」的「Product」和「EventViewController」的「Events」。我在我的appDelegate中使用「NavigationController」作爲「rootViewController」。現在,當我觸摸「MenuViewController」中的「產品」按鈕時,將我帶到「ProductViewController」並觸摸「BackButton」,然後順利返回到「MenuViewController」。我爲「ProductViewController」做了相同的代碼,在這裏它將我帶到「EventViewController」,但在觸摸「BackButton」之後,很奇怪的是它返回到「FairListViewController」的第一頁。我改變了我的IBAction按鈕名稱的名字(在「EventViewController」nib文件中)幾次&與nib文件重新連接,甚至從nib文件中刪除按鈕並嘗試用新按鈕,但結果是一樣的!以前可以有任何一個類似這個問題。任何建議都將非常可觀。非常感謝Advance。導航欄BackButton不能正常工作

這裏是我的代碼:

IN MenuViewController(對於ProductViewController按鈕):

- (IBAction)callProductGroups:(id)sender 
{ 
ProductGroupViewController *productGroupViewController; 

if(IS_IPHONE_5) 
{ 
    productGroupViewController = [[ProductGroupViewController alloc] initWithNibName:@"ProductGroupViewController" bundle:nil]; 
} 
else 
{ 
    productGroupViewController = [[ProductGroupViewController alloc] initWithNibName:@"ProductGroupViewControlleriPhone4" bundle:nil]; 
} 

productGroupViewController.topBarImageForAll = self.topBarImageForAll; 
productGroupViewController.topBarButtonImageForAll = self.topBarButtonImageForAll; 
productGroupViewController.buttonDividerImageForAll = self.buttonDividerImageForAll; 
productGroupViewController.backgroundImageForAll = self.backgroundImageForAll; 
productGroupViewController.backgroundImageiPhone4ForAll = self.backgroundImageiPhone4ForAll; 

[self.navigationController pushViewController:productGroupViewController animated:YES]; 
} 

在ProductViewController:

-(IBAction)goBack:(id)sender 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

在MenuViewController(對於EventViewController按鈕) :

- (IBAction)callEvents:(id)sender 
{ 
EventViewController *eventViewController; 

if (IS_IPHONE_5) 
{ 
    eventViewController=[[EventViewController alloc] initWithNibName:@"EventViewController" bundle:nil]; 
} 
else 
{ 
    eventViewController=[[EventViewController alloc] initWithNibName:@"EventViewControlleriPhone4" bundle:nil]; 
} 

eventViewController.topBarImageForAll = self.topBarImageForAll; 
eventViewController.topBarButtonImageForAll = self.topBarButtonImageForAll; 
eventViewController.buttonDividerImageForAll = self.buttonDividerImageForAll; 
eventViewController.backgroundImageForAll = self.backgroundImageForAll; 
eventViewController.backgroundImageiPhone4ForAll = self.backgroundImageiPhone4ForAll; 

[self.navigationController pushViewController:eventViewController animated:YES];  
} 

在EvenViewController:

- (IBAction)backButton:(id)sender 
{ 
    [self.navigationController popToRootViewControllerAnimated:YES]; 
} 

[有沒有打算下一個視圖控制器的問題,這個問題是關於回來了。]

+1

因爲您發送' popToRootViewControllerAnimated:'。 – cahn

+0

但我發送同樣的東西到「ProductViewController」,但它正常支持。我應該發送什麼?我是iOS新手,很抱歉像這樣提問。 @chan – Tulon

+0

是的,我明白了。我錯過了這個區別。它是一個愚蠢的東西。感謝您的評論。 :) – Tulon

回答

0
Try instead of 
    [self.navigationController popToRootViewControllerAnimated:YES]; 

Use 
    [self.navigationController popViewControllerAnimated:YES]; 
+0

是的,我明白了。我錯過了這個區別。這是一個愚蠢的錯誤。感謝您的評論。 :) – Tulon