我用来开发应用程序MonoTouch Iphone,但是使用UIPopoverController时遇到了问题。我无法打开页面来选择照片。 我使用的是camera.cs TweetStation。
以下是代码:
public static void SelectPicture (UIViewController parent, Action<NSDictionary> callback)
{
if(OzytisUtils.isIpad()){
picker = new UIImagePickerController();
UIPopoverController popover = new UIPopoverController(picker);
picker.Delegate = new CameraDelegate();
picker.SourceType = UIImagePickerControllerSourceType.PhotoLibrary;
popover.SetPopoverContentSize(new SizeF(parent.View.Frame.Width,parent.View.Frame.Height),true);
if(popover.PopoverVisible){
popover.Dismiss(true);
picker.Dispose();
popover.Dispose();
}else{
popover.PresentFromRect(parent.View.Frame,parent.View,UIPopoverArrowDirection.Right,true);
}
}else{
Init ();
picker.SourceType = UIImagePickerControllerSourceType.PhotoLibrary;
_callback = callback;
parent.PresentModalViewController (picker, true);
}
感谢您的帮助。
答案 0 :(得分:1)
我有一些建议。首先使UIPopoverController成为一个成员变量,以便它不被收集。
其次,我在选择器上调用了ContentSizeForViewInPopover。
picker.ContentSizeForViewInPopover = new SizeF(this.View.Frame.Width,this.View.Frame.Height);
最后,我在屏幕的左上角使用一个0x0矩形进行PresentFromRect调用。
_popover.PresentFromRect(new RectangleF (0,0,0,0),this.View,UIPopoverArrowDirection.Up,true);