如何使用CGRect设置UIPopover的边界?

时间:2013-07-26 11:03:07

标签: ios objective-c uipopovercontroller

我正在显示一个要在视图中显示的弹出框,但在顶部留下一些空格。

我正在使用presentPopoverFromrect:inView:permittedArrowDirections:但除了传递视图外,我还想限制视图中矩形内的弹出窗口。

这意味着,弹出框不应该在视图中超出此矩形并相应地调整箭头。 有没有办法使这成为可能?

3 个答案:

答案 0 :(得分:0)

覆盖contentSizeForPopover并使其返回您需要的值。

- (CGSize)contentSizeForViewInPopover
{
    return CGSizeMake(180, 360);
}

答案 1 :(得分:0)

使xib大小自由形式并首先删除状态栏。然后为xib中的视图设置的值为viewdidload为

[self setContentSizeForViewInPopover:CGSizeMake(widthsetinxib, heightsetinxib)];

答案 2 :(得分:0)

您需要设置UIPopover的'popoverLayoutMargins'属性。 像这样 -

[myPopoverController setPopoverLayoutMargins:UIEdgeInsetsMake(top, left, bottom, right)];

这会将popover限制为指定的insets。有关详细信息,请阅读相同方法的文档。

P.S。我知道这个问题的答案很晚,但我只是面对并解决了同样的问题,所以我可以保证这个解决方案。