2013-10-03 30 views
0

我聲明瞭myview1中的兩個不同的推入區域以顯示myview2。 從兩個不同的按鈕動作中調用兩個不同的推式賽格。它顯示myview2通過調用2個按鈕操作相同的視圖在segue中出錯

myview2我彈出navigationcontroller回到myview1按鈕操作。

我收到錯誤ios7但在以前版本的iOS其工作的:

嵌套推動畫可以導致損壞的導航欄

整理了意外狀態導航過渡。導航欄子視圖樹可能會損壞。

myview2:

- (IBAction)saveButtonPressed:(id)sender { 

if ([self.addString isEqualToString:@"ADD"]) { 
    NSLog(@"11111111add save"); 
    Xen_ViewController *viewcontroller = [[Xen_ViewController alloc] init]; 
    DOING some method calling..... 
    //[self.navigationController popViewControllerAnimated:YES]; 
} 
else if ([self.addString isEqualToString:@"UPDATE"]){ 
    NSLog(@"222222222update save"); 
    Xen_ViewController *viewcontroller = [[Xen_ViewController alloc] init]; 
    DOING some method calling..... 
    ..... 
} 
[self.navigationController popViewControllerAnimated:YES]; 

myview1:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
if([segue.identifier isEqualToString:@"CallingConfigurationEdit"]){ 
    //UINavigationController *navController = (UINavigationController *)segue.destinationViewController; 
    Xen_ConfigurationViewController *controller = segue.destinationViewController; 
    controller.addString = @"ADD"; 
} 

if ([segue.identifier isEqualToString:@"Updation"]) 
{ 
    Xen_ConfigurationViewController *controller = segue.destinationViewController; 
    controller.updateString = self.string; 
    controller.addString = @"UPDATE"; 
} 

}

如何克服這個問題?

回答

2

由於您聲明瞭兩個不同的推送段,因此您正在收到該錯誤。你的情況沒有必要這樣做。聲明只是一個push segue,不要忘記給它一個標識符。 我測試過你的代碼並且工作得很好,只要記住,無論你在saveButtonPressed方法的if語句中執行什麼方法,最終都會彈出當前的viewController,你會回到你的MyView1控制器。

+0

謝謝塞薩爾我會檢查它讓你知道... – Bala

+0

編輯和更新我使用的同一個屏幕。爲編輯按鈕按下segue「CallingConfigurationEdit」被調用,爲了更新按鈕被按下,segue「Updation」被調用。我不確定如何爲2種不同的按鈕操作提供單個賽格。你能幫我塞薩爾嗎...先謝謝了。 – Bala

+1

您可以在您的目標ViewController中聲明BOOL屬性,並在您的prepareForSegue中爲該屬性指定一個值:(UIStoryboardSegue *)segue sender:(id)sender method。然後在目標viewController的viewDidLoad方法中檢查該屬性值並對其做出適當的反應。 – cesarg88

相關問題