UIPopoverControllerをPresentFromRectで表示するときの引数
ググって見つけたサンプルを参考にこう書いていた。
UIPopoverController popover = new UIPopoverController(viewController); popover.PopoverContentSize = new System.Drawing.SizeF(300f, 300f); popover.PresentFromRect(target.Frame, target, UIPopoverArrowDirection.Any, true);
すると何故か妙な位置にポップアップされて半日ほど困っていた。
このPresentFromRectメソッドの一つ目のRectangleFと二つ目のUIViewの意味がやっと判った。
- UIPopoverControllerの矢印が指すUIViewのFrameプロパティ
- UIPopoverControllerの矢印が指すUIViewのSuperview
これで綺麗に表示されるようになった。
UIPopoverController popover = new UIPopoverController(viewController); popover.PopoverContentSize = new System.Drawing.SizeF(300f, 300f); popover.PresentFromRect(target.Frame, target.Superview, UIPopoverArrowDirection.Any, true);