Ios 缺少UIPopoverController的PopoverBackroundViewClass属性

Ios 缺少UIPopoverController的PopoverBackroundViewClass属性,ios,xamarin.ios,uipopovercontroller,uipopoverbackgroundview,Ios,Xamarin.ios,Uipopovercontroller,Uipopoverbackgroundview,我正在使用最新的Monotouch 5.2.4。作为我开发的一部分,我正在尝试更改Popover控制器的背景边框。根据apple文档,可以使用从UIPopoOverBackgroundView类继承的自定义类来管理 所以我创建了如下这样的类 public class MyPopoverBackground : UIPopoverBackgroundView { public MyPopoverBackground () { UIImageView imgBackg

我正在使用最新的Monotouch 5.2.4。作为我开发的一部分,我正在尝试更改Popover控制器的背景边框。根据apple文档,可以使用从UIPopoOverBackgroundView类继承的自定义类来管理

所以我创建了如下这样的类

public class MyPopoverBackground : UIPopoverBackgroundView
{
    public MyPopoverBackground ()
    {
        UIImageView imgBackground = new UIImageView();
        UIImage img = UIImage.FromFile(@"SupportData/Popbg.png");
        img.StretchableImage(18,10);
        imgBackground.Image = img;
        this.AddSubview(imgBackground);
    }   
}
创建此类后,我尝试将此视图与视图控制器中的弹出对象相关联。它的定义如下

UIPopoverController popup = new UIPopoverController(searchPage);
popup.popOverBackroundViewClass = new MyPopoverBackground(); //This line throws compilation error
上面代码中的最后一行,即赋值发生时抛出编译错误(“不包含..的定义”)

这是什么意思?Monotouch不支持这一点吗(我在网上看到很多例子,Objective-C似乎支持这一点)?或者我错过了什么


谢谢你的帮助。

抓得好!看起来MonoTouch目前缺少(iOS5中新增的)的绑定

我将研究如何实施它。如果你想填写一份错误报告,你会在完成后收到通知(只需一份带有此问题链接的快速错误报告就足够了)。我也应该能够给你一个热修复或解决办法

更新

在MonoTouch 5.3+(一旦发布)中,您将能够执行以下操作:

popoverController.PopoverBackgroundViewType = typeof (MyPopoverBackgroundView);
请注意,您不能创建自己的实例,因为它需要从本机端完成(因此,您只能告诉
uipopcovercontroller
要创建的类型)

您还需要遵循
uipopooverbackgroundview
的所有要求,这意味着导出所需的选择器(这比简单地继承要复杂一些,因为它还需要
静态
方法)。例如


谢谢你的及时回复。正如你提到的,我已经填充了一个bug。我很高兴看到SO正受到同一个产品团队的密切关注和响应。坚持下去。。
    class MyPopoverBackgroundView : UIPopoverBackgroundView {

        public MyPopoverBackgroundView (IntPtr handle) : base (handle)
        {
            ArrowOffset = 5f;
            ArrowDirection = UIPopoverArrowDirection.Up;
        }

        public override float ArrowOffset { get; set; }

        public override UIPopoverArrowDirection ArrowDirection { get; set; }

        [Export ("arrowHeight")]
        static new float GetArrowHeight ()
        {
            return 10f;
        }

        [Export ("arrowBase")]
        static new float GetArrowBase ()
        {
            return 10f;
        }

        [Export ("contentViewInsets")]
        static new UIEdgeInsets GetContentViewInsets ()
        {
            return UIEdgeInsets.Zero;
        }
    }