有谁知道为什么这段代码不起作用。刚刚从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);
}
}
感谢您的回复。
答案 0 :(得分:1)
您可能正在iPhone项目上测试此代码,UIPopoverController无法与iPhone一起使用。
要查看它是否有效,您应该在Info.plist文件中将设置设置更改为iPad。
我在iPad模拟器中对该课程进行了测试,但它确实有效。