我有一个 UIPopoverController 必须以向上的箭头方向显示,但是当我尝试在视图底部显示 popover 时,我看到了这个:
[popoverController presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
我有一个 UIPopoverController 必须以向上的箭头方向显示,但是当我尝试在视图底部显示 popover 时,我看到了这个:
[popoverController presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
你需要UIPopoverArrowDirectionDown
在这种情况下使用。由于按钮位于视图的底部区域,如果您想在按钮下方显示弹出框(这是UIPopoverArrowDirectionUp
隐含的建议),它没有任何空间来显示弹出框。
如果你使用UIPopoverArrowDirectionAny
,那么 iOS 会自动计算出它可以扩展的方式。
不知道这是不是新的,但允许的箭头方向是一个位域,可以组合。所以你可以写UIPopoverArrowDirectionDown | UIPopoverArrowDirectionUp
,它会选择它有空间的两者中的任何一个。
正如uliwitness对于多个方向所说,但已针对 Swift 4 进行了更新。请尝试以下代码:
popover.permittedArrowDirections = [.up, .down]