2010-11-20 101 views
0

我是Iphone開發新手。我正在研究一個涉及兩個視圖的應用程序。我有一個相機按鈕,可以打開默認的Iphone相機。這是通過具有ViewOneController這個代碼在IBAction爲對相機按鈕來實現的:如何在iPhone相機返回時切換視圖?

UIImagePickerController *picker = 
[[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.allowsEditing = NO; 
picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
[self presentModalViewController:picker animated:YES]; 
[picker release]; 

用於第一視圖的視圖控制器還攝像機的UIImagePickerControllerDelegate。當點擊畫面和攝像機視圖返回功能imagePickerController:didFinishPickingWithMediaInfo,我這樣做:

(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    [picker dismissModalViewControllerAnimated:YES]; 
[self presentModalViewController:ViewTwoViewController animated:YES]; 
} 

所以基本上所有我想要實現的是從viewone點擊「拍照」 --->打開相機 - >相機完成後跳轉到查看兩個。非常類似於flickr應用程序中的內容。但是,當我從相機拍攝照片後,我的應用程序返回查看一個,而查看兩個不顯示。我在這裏錯過了什麼?

從概念的角度來看,我猜IOS會爲任何應用程序保留一堆視圖。當調用presentModalViewController時,會顯示視圖,並將其添加到堆棧,並調用dismissModalViewController時,將從堆棧中刪除視圖,並顯示父視圖。是對的嗎?

謝謝。

回答

0

您可能需要在viewWillAppear中調用[self presentModalViewController:ViewTwoViewController animated:YES],該選項將在選取器視圖被刪除後調用。 您可能還需要使用某些檢查來環繞呼叫,以便在適用時僅顯示viewTwo。

+0

我試過在視圖中的代碼會出現。它仍然不起作用。 – 2010-11-20 07:25:54

+0

所以我找到了其他論壇的答案。顯然Iphone不允許你以動畫的方式切換兩個視圖。所以我改變了[picker dismissModalViewControllerAnimated:YES];行[picker dismissModalViewControllerAnimated:NO];在原來的代碼,它的工作。謝謝。 – 2010-11-20 16:46:30