2010-01-22 99 views
0

我有一個主要的UIViewController是在啓動時創建的,我只用於在2個不同的視圖控制器之間切換顯示模態。切換顯示2個不同的視圖控制器modaly

這裏我的代碼,不會開關:

- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info { 

    [self dismissModalViewControllerAnimated:NO]; 

    PreviewView *previewViewController = [[PreviewViewController alloc] initWithNibName:@"PreviewView" bundle:nil]; 
    previewViewController.delegate = self; 
    [self presentModalViewController:previewViewController animated:YES]; 
    [previewViewController release]; 
} 

- (void)previewViewControllerdoneButtonPressed:(AnotherViewController*)controller { 

    [self dismissModalViewControllerAnimated:YES]; 

    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
    imagePicker.delegate = self; 
    [self presentModalViewController:imagePicker animated:NO]; 
    [imagePicker release]; 
} 

在第一種方法中,交換機的工作原理,但不是在第二位。我想知道爲什麼。

謝謝!

+0

想知道,在dismissModalViewControllerAnimated:和presentModalViewController:方法中使用的'動畫'參數是否有任何原因在每種方法中都不相同? – 2010-01-22 17:56:00

+0

是的,這是因爲我想讓previewView顯示/解除動畫,但不是imagePicker。謝謝! – Yoshi 2010-01-22 18:13:07

回答

0

在第二種方法中,您首先要求self關閉。然後再次詢問self以呈現新的視圖控制器。這是不正確的。您想要讓AnotherViewController的'父'顯示UIImagePickerController。

你可以嘗試的一件事是在之後將解僱移到現在。

+0

在提交新控件之前,我應該解散當前控制器(已經用其他方法呈現),不是嗎? – Yoshi 2010-01-22 18:37:49

相關問題