【发布时间】:2012-03-07 08:07:18
【问题描述】:
我已经创建了一个 iPhone 应用程序。我在视图中有一个按钮。在按钮中单击我想从 iPhone 照片库中获取照片。并在按钮中设置这张选定的照片。 我怎样才能做到这一点。 提前致谢。
【问题讨论】:
-
看到这个link
标签: iphone photo photolibrary
我已经创建了一个 iPhone 应用程序。我在视图中有一个按钮。在按钮中单击我想从 iPhone 照片库中获取照片。并在按钮中设置这张选定的照片。 我怎样才能做到这一点。 提前致谢。
【问题讨论】:
标签: iphone photo photolibrary
你必须使用UIImagepicker。
【讨论】:
几天前我为 ipad 做了类似的事情。
调用你的按钮photoButton,它是我们控制器中的一个变量。还要添加popoverController 变量(需要适当解除弹出框)。
当按下 photoButton 时,我们调用 next 方法:
- (void)photoButtonPressed:(id)sender {
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.allowsEditing = NO;
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
popoverController = [[UIPopoverController alloc] initWithContentViewController:imagePickerController];
popoverController.delegate = self;
[popoverController presentPopoverFromRect:sender
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
[imagePickerController release];
}
你还应该实现下一个方法来支持 UIImagePickerControllerDelegate 和 UIPopoverControllerDelegate 协议:
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)selectedImage
editingInfo:(NSDictionary *)editingInfo {
[photoButton setImage:selectedImage forState:UIControlStateNormal];
if ([popoverController isPopoverVisible]) {
[popoverController dismissPopoverAnimated:YES];
}
}
#pragma mark - UIPopoverControllerDelegate
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverContr {
[popoverContr release];
if (popoverContr == popoverController)
popoverController = nil;
}
【讨论】: