0

我在关闭相机视图时遇到了一点问题。我将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。

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

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

4

3 回答 3

1

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

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

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

于 2011-07-22T12:03:57.477 回答
1

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

于 2011-07-22T12:08:36.113 回答
0

在 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

于 2013-10-03T11:41:06.977 回答