UotopoverController和UIImagePickerController Monotouch的问题

时间:2012-04-24 15:36:56

标签: ipad xamarin.ios uiimagepickercontroller uipopovercontroller

我用来开发应用程序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);
        }

感谢您的帮助。

1 个答案:

答案 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);