【发布时间】:2014-04-09 09:21:14
【问题描述】:
单击按钮时,我正在从相册中获取保存的图像。显示相册后,我在 iPad 中没有取消按钮来取消相册。从相册中选择任何人保存的图像后,它会关闭并将选择图像添加到 UIImageView。但是如果不从图库中选择图像,我将无法关闭相册。在 iphone 中,它与取消一起使用。
-(void)picker:(id)sender{
if ([self->popoverController isPopoverVisible]) {
[self->popoverController dismissPopoverAnimated:YES];
} else {
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
imagePicker=[[UIImagePickerController alloc]init];
imagePicker.delegate = self;
imagePicker.allowsEditing =NO;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
self->popoverController = [[UIPopoverController alloc]
initWithContentViewController:imagePicker];
self->popoverController.delegate = self;
CGRect popoverRect = [self.view convertRect:[self.view frame]
fromView:[self.view superview]];
popoverRect.size.width = MIN(popoverRect.size.width, 100) ;
popoverRect.origin.x = popoverRect.origin.x+10;
[self->popoverController
presentPopoverFromRect:popoverRect
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
//release picker
// [picker dismissModalViewControllerAnimated:YES];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
[picker dismissViewControllerAnimated:YES completion:nil];
}else{
[picker dismissViewControllerAnimated:YES completion:nil];
if (popoverController != nil) {
[popoverController dismissPopoverAnimated:YES];
popoverController=nil;
}
}
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
if (popoverController != nil) {
[popoverController dismissPopoverAnimated:YES];
popoverController=nil;
}
[picker dismissViewControllerAnimated:YES completion:nil];
}
【问题讨论】:
标签: ios objective-c ipad uiimagepickercontroller