我正在使用 UIPopoverController 显示一个 View ,在该 View 中我有一个 UIPickerView,当使用 presentPopoverFromRect 时,PopOverControll 显示在 x 和 y 的正确位置但不调整控件的大小。这个 viewController 是一个单独的 .swift 文件。
var buttonCenter: CGPoint = BtCheque.center;
var rect:CGRect = CGRectMake(buttonCenter.x, 1, 120, 90);
_colorPickerPopover.presentPopoverFromRect(rect, inView: self.view , permittedArrowDirections: UIPopoverArrowDirection.Up, animated: true);
UIPickerView 的大小正确,但弹出窗口不正确。
这是结果:
最佳答案
我相信你误解了 presentPopoverFromRect
的工作原理,它指定了你的弹出框将显示的矩形,这不是你的弹出框的矩形。
例如,如果您有一个带有框架 (10, 10, 100, 30) 的按钮,并且在您按下此按钮后您想要显示弹出窗口,那么这是您应该传递给 presentPopoverFromRect
的推荐框架,而不是弹出框。
要指定弹出窗口的大小,请使用 _colorPickerPopover
的 popoverContentSize
属性。
您还可以在弹出框子类的 viewDidLoad
方法中设置 preferredContentSize
。
关于ios - UIPopoverController 不调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24760789/