Iphone app,IOS 5及以上。
在SO上也存在类似的问题,但我没有遇到过这种情况,所以我会问。我正在编辑一个现有的应用程序,允许您拍摄一张照片,并将其调整并发送到网络服务。
我需要添加拍摄3张照片的功能,调整每张照片并发送到同一服务。我认为这只是重复已经在应用程序中的内容,但它使用UIImagePickerController,显然每次使用只允许一张照片。
所以它的工作方式是有一个“拍照”按钮调用下面的方法。一旦拍完照片,会出现另一个按钮,上面写着“拍摄另一张照片”(我添加了这个按钮),我让它调用相同的方法,但它只是复制了上一张照片,这是真正的预期。我应该如何最好地改变它以容纳3张照片?
这是我正在打电话的拍照方式。
- (IBAction)takePhoto:(id)sender
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.delegate = self;
[self presentViewController:imagePickerController animated:YES completion:NULL];
}
答案 0 :(得分:0)
检查https://developer.apple.com/library/ios/samplecode/photopicker/Introduction/Intro.html ,查看本演示项目的拍照部分。
答案 1 :(得分:0)
最终想出了如何做到这一点。我通过IB为调用方法的按钮添加了一个标签。
然后在takephoto方法中,我根据点击按钮的标签为imagePickerController分配了一个标签。像这样:
- (IBAction)takePhoto:(id)sender
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
if([sender tag] == 2)
{
imagePickerController.view.tag = 2;
}
//And so on...
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.delegate = self;
[self presentViewController:imagePickerController animated:YES completion:NULL];
}
然后在ImagePickerController中使用didFinishedPickingMediaWithInfo方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
if(picker.view.tag == 2)
{
//Do stuff here
}
}
所以,我可能不得不为三张可能的照片中的每一张创建三个不同的按钮,我相信它有更好的方法,但它应该有效。