1

我用来开发一个应用程序MonoTouch Iphone,但我有一个使用UIPopoverController的问题。我无法打开页面来选择照片。 我使用了camera.cs TweetStation类。UIPopoverController和UIImagePickerController Monotouch问题

下面的代码:

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

我有几点建议。首先使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); 
相关问题