Xamarin Ios PopoverController未处理的异常

时间:2014-05-23 14:34:34

标签: ios xamarin uipopover

有谁知道为什么这段代码不起作用。刚刚从xamarin向hello world示例添加了一个popovercontroller。我总是得到一个未处理的异常,但输出中没有其他信息。

public class MyViewController : UIViewController
    {
        UIButton button;
        int numClicks = 0;
        float buttonWidth = 200;
        float buttonHeight = 50;
        UIPopoverController popover;


    public MyViewController()
    {
    }

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();

        View.Frame = UIScreen.MainScreen.Bounds;
        View.BackgroundColor = UIColor.White;
        View.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;

        button = UIButton.FromType(UIButtonType.RoundedRect);

        button.Frame = new RectangleF(
            View.Frame.Width / 2 - buttonWidth / 2,
            View.Frame.Height / 2 - buttonHeight / 2,
            buttonWidth,
            buttonHeight);

        button.SetTitle("Click me", UIControlState.Normal);
        button.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleTopMargin |
        UIViewAutoresizing.FlexibleBottomMargin;

        var content = new UIViewController();
        popover = new UIPopoverController(content);
        popover.SetPopoverContentSize(new SizeF(80, 80), true);


        button.TouchUpInside += (object sender, EventArgs e) =>
        {

            popover.PresentFromRect(new RectangleF(80, 80, 80, 80), View, UIPopoverArrowDirection.Left, true);
        };



        View.AddSubview(button);
    }

}

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

您可能正在iPhone项目上测试此代码,UIPopoverController无法与iPhone一起使用。

要查看它是否有效,您应该在Info.plist文件中将设置设置更改为iPad。

我在iPad模拟器中对该课程进行了测试,但它确实有效。