【问题标题】:Need help hendling (dismissing) ImagePicker (camera) in objective-c (iphone)在objective-c(iphone)中需要帮助处理(解雇)ImagePicker(相机)
【发布时间】:2011-10-10 23:46:49
【问题描述】:

我在关闭相机视图时遇到了一点问题。 我将 UIImagePickerController 与此代码一起使用-

-(void)viewDidAppear:(BOOL)animated{
UIImagePickerController *picker=[[UIImagePickerController alloc]init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls=NO;
[picker.cameraOverlayView addSubview:mirrorOverlay];
picker.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:picker animated:YES];
[picker release];}

我使用自定义按钮关闭相机并使用此代码将视图更改回我的主视图-

-(IBAction)flipBack:(id)sender{
[self dismissModalViewControllerAnimated:YES];

我的问题是当我按下 View 翻转按钮然后返回并再次调用相机时。 我找不到关闭相机和视图的方法。

请帮忙。 谢谢, 阿米尔。


更新: 谢谢您的帮助 !我想通了! 我的问题是我正在使用相机的 nib 文件,当您想以代理上描述的不同方式使用相机时,您应该使用 View 而不是 nib。

所以我的代码是正确的,但位置和格式错误。 谢谢大家!

如果有人需要帮助,我会在这里提供帮助!

【问题讨论】:

  • 阿米尔:您的代码运行良好!确保您的视图中确实出现了任何方法或调用相机进程的任何方法!
  • 我只是 NSLog 它,我相信我的问题是我的 ViewDidApper 在我关闭它时一遍又一遍地加载。

标签: iphone xcode camera uiimagepickercontroller dismiss


【解决方案1】:

您需要关闭选择器,从外观上看,您正在关闭呈现选择器的控制器。

-(IBAction)flipBack:(id)sender{
    [picker dismissModalViewControllerAnimated:YES];
}

在这种情况下,您需要保留对 picker 的引用(例如:添加 UIImagePicker *picker; 作为 viewcontroller 类的成员)。

【讨论】:

  • 我已经添加了 UIImagePickerController *picker;到我的班级,并将“self”更改为“picker”,但它仍然回到我身边。
【解决方案2】:

似乎你把代码放在了错误的地方,因为每次你的 viewDidAppear 都会显示选择器而不是这个,你需要在一些按钮点击上放置图像选择器代码。然后你可以实现选择器的委托方法,如 imagePickerDidCancel 和 imagePickerDidFinishPickingMedia 来关闭选择器实现 imagePickerDidCancel 或者如果你想要自定义取消方法,你的代码看起来不错。

【讨论】:

  • 好吧,我想要那样,但我无法理解它再次回来的方式。 ViewDidApper 仅在 viewController 加载中运行,否?
  • 那么,我可以把它放在哪里呢?因为当我将代码移动到 viewDidLoad 时,它根本没有加载相机..
【解决方案3】:

在 iOS7 中,ModalViewController 不推荐用于相机胶卷图像选择器。

要打开图像选择器,请使用:

[controller presentViewController:mediaUI animated:YES completion:nil]; // open image picker

要关闭或取消图像选择器,请使用:

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissViewControllerAnimated:YES completion:nil]; // close image picker
}

更多信息最好看:https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/CameraAndPhotoLib_TopicsForIOS/Articles/Articles/PickinganItemfromthePhotoLibrary.html

【讨论】:

    猜你喜欢
    • 2015-03-27
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多