【问题标题】:Post more than one photo - two UIImagePickerController's发布多张照片 - 两张 UIImagePickerController
【发布时间】:2014-03-06 16:37:57
【问题描述】:

我在这里遇到了一个小问题。

我有一个基本视图,其中包含两个 UIButtons 和两个 UIImageViews,我希望我的用户能够拍摄两张不同的照片,并将这些照片附加到各自的 UIImageView

现在这适用于第一个 UIButton/图像,但不适用于第二个。

.h

@interface ViewController : UIViewController <UIImagePickerControllerDelegate> {

// First button/imageview
UIImagePickerController *picker;
UIImage *image;

// Second button/imageview
UIImagePickerController *picker2;
UIImage *image2;

}

.m

-(IBAction)TakePhoto
{
   picker = [[UIImagePickerController alloc] init];
   picker.delegate = self;
   [picker setSourceType:UIImagePickerControllerSourceTypeCamera];
   [self presentViewController:picker animated:YES completion:NULL];
}

-(void)imagePickerController:(UIImagePickerController *)picker     didFinishPickingMediaWithInfo:(NSDictionary *)info
{
   image2 = [info objectForKey:UIImagePickerControllerOriginalImage];
   [imageField2 setImage:image2];
   [self dismissViewControllerAnimated:YES completion:NULL];
}

这一切都很好,但我的问题是如何将第二个选择器连接到新的 imagePickerController 方法,以便我的用户可以在此视图上拍摄两张不同的照片?我知道,如果我使用 picker2 信息创建了一个新操作,它仍然会指向一个 imagePickerController 方法,创建第二个方法并将其重命名以适应它是行不通的。

我们将不胜感激任何建议和帮助。

杰米

【问题讨论】:

  • 在委托方法(imagePickerController:didFinishPickingMediaWithInfo)中,测试选择器是什么:if (picker == picker1){}else if (picker == picker2){}。另外,将您的第一个选择器重命名为 picker1,以不在委托方法中隐藏实例。
  • 太好了,我不知道我可以使用该应用程序走这条路,但这似乎工作得很好。非常感谢!

标签: ios objective-c uiimageview uiimagepickercontroller


【解决方案1】:

你不需要两个 UIImagePickerControllers 来做。

查看UIImagePickerControllertakePicture 方法,它以编程方式启动静止图像捕获。

您可以在收到imagePickerController:didFinishPickingMediaWithInfo: 委托回调后发起额外的捕获。

PhotoPicker 是来自 Apple 的示例项目,它完全符合您的要求。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2011-07-13
    • 2016-04-11
    • 2013-12-05
    • 2014-05-25
    相关资源
    最近更新 更多