我已经读过iPad必须使用UIPopoverController
来查看PhotoLibrary,但是,我已经编辑了代码来制作它,popover显示但是当我选择图片时它不会隐藏。
我发现它没有到达didFinishpickingMediaWithInfo
。我错过了什么吗?这是我的代码
-(IBAction) ButtonClicked{
ipc = [[UIImagePickerController alloc] init];
ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
ipc.delegate=self;
popover = [[UIPopoverController alloc] initWithContentViewController:ipc];
[ipc release];
[popover presentPopoverFromRect:CGRectMake(0.0, 0.0, 800.0, 400.0)
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
}
这里:
-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
[picker release];
}
在这里:
-(void) imagePickerController:(UIImagePickerController *)picker didFinishpickingMediaWithInfo:(NSDictionary *)info{
// TempImage is a UIImage instance
TempImg = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
//bgImage is a UIImageView instance and it's connected in the IB
[bgImage setImage:TempImg];
// Dismiss UIImagePickerController and release it
[picker dismissModalViewControllerAnimated:YES];
[picker.view removeFromSuperview];
[picker release];
}
我真的需要别人的帮助,我已经看过每一个youtube视频,阅读互联网上的每篇文章,并尝试了几乎所有内容。我非常感谢你的帮助。
答案 0 :(得分:6)
第一个问题是方法didFinishpickingMediaWithInfo
拼写错误,因此不会被调用。它应该是didFinishPickingMediaWithInfo
(Picking的大写P)。
第二个问题是在父级上调用dismiss或者选择器不会隐藏popover。相反,请尝试拨打[popover dismissPopoverAnimated:YES];
。