iPhone相机和图像选择器

时间:2009-09-13 03:26:52

标签: iphone cocoa-touch iphone-sdk-3.0 uiimagepickercontroller

我找到了很多关于使用UIImagePickerController让用户从Photos应用程序的数据中选择他们想要的图像的信息。我想知道如何在3.0上创建相同的效果,因为它似乎不再是很多旧代码的工作原理。此外,我希望用户能够从同一个弹出窗口中拍摄新照片。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在3.0中工作,与以前一样;我不相信有任何变化。我只是分配/初始化一个UIImagePickerController,并将它传递给presentModalViewController,如下所示:

- (void) chooseImageFromLibrary {
    if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary] ) return;

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePickerController.allowsImageEditing = YES;
    [self presentModalViewController:imagePickerController animated:YES];
}

- (void) chooseImageFromCamera {
    if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] ) return;

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePickerController.allowsImageEditing = YES;
    [self presentModalViewController:imagePickerController animated:YES];
}

也实现委托方法:

- (void)imagePickerController:(UIImagePickerController *)picker 
        didFinishPickingImage:(UIImage *)image 
                  editingInfo:(NSDictionary *)editingInfo {
    // Do something with the image here.

    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}