1

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

谢谢你的帮助。

4

1 回答 1

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);
于 2012-04-24T23:35:10.667 回答