0

我有一个 UIPopoverController 必须以向上的箭头方向显示,但是当我尝试在视图底部显示 popover 时,我看到了这个:

在此处输入图像描述

[popoverController presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
4

3 回答 3

5

你需要UIPopoverArrowDirectionDown在这种情况下使用。由于按钮位于视图的底部区域,如果您想在按钮下方显示弹出框(这是UIPopoverArrowDirectionUp隐含的建议),它没有任何空间来显示弹出框。

如果你使用UIPopoverArrowDirectionAny,那么 iOS 会自动计算出它可以扩展的方式。

于 2012-10-11T18:28:04.993 回答
1

不知道这是不是新的,但允许的箭头方向是一个位域,可以组合。所以你可以写UIPopoverArrowDirectionDown | UIPopoverArrowDirectionUp,它会选择它有空间的两者中的任何一个。

于 2016-11-02T16:56:02.557 回答
1

正如uliwitness对于多个方向所说,但已针对 Swift 4 进行了更新。请尝试以下代码:

popover.permittedArrowDirections = [.up, .down]
于 2018-10-03T14:15:03.787 回答