【问题标题】:How to switch views when Iphone camera returns?iPhone相机返回时如何切换视图?
【发布时间】:2010-11-20 03:30:14
【问题描述】:

我是 iPhone 开发的新手。我正在开发一个涉及两个视图的应用程序。我在视图中有一个相机按钮,它打开了默认的 iPhone 相机。这是通过在 ViewOneController 中的 IBAction for camera 按钮中添加此代码来实现的:

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被调用时,视图被从堆栈中移除并且父视图被显示。对吗?

谢谢。

【问题讨论】:

    标签: iphone cocoa-touch ios4


    【解决方案1】:

    您可能需要在 viewWillAppear 中调用 [self presentModalViewController:ViewTwoViewController animated:YES],这将在删除选择器视图后调用。 您可能还需要围绕调用进行一些检查,以便仅在适用时显示 viewTwo。

    【讨论】:

    • 我试过view里的code会出现。还是不行。
    • 所以我从另一个论坛找到了答案。显然,Iphone 不允许您以动画方式切换两个视图。所以我改变了 [picker dismissModalViewControllerAnimated:YES];行到 [picker dismissModalViewControllerAnimated:NO];在原始代码中,它起作用了。谢谢。
    猜你喜欢
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多