我是Iphone开发的新手。我正在处理涉及两个视图的应用程序。我有一个摄像头按钮,可打开默认的Iphone摄像头。这是通过在ViewOneController中的相机按钮IBAction中使用此代码实现的:
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 :(得分:0)
您可能需要在viewWillAppear中调用[self presentModalViewController:ViewTwoViewController animated:YES],这将在删除选择器视图后调用。 您可能还需要通过一些检查来围绕呼叫,以便仅在适用时呈现viewTwo。