为啥我的 UIPopoverController 会以这种方式弹出?

Posted

技术标签:

【中文标题】为啥我的 UIPopoverController 会以这种方式弹出?【英文标题】:Why my UIPopoverController is popping in this way?为什么我的 UIPopoverController 会以这种方式弹出? 【发布时间】:2014-01-29 11:34:52 【问题描述】:

我在 iPad 上有两个按钮,可以打开两个弹出窗口。它们是用代码打开的:

CGRect frame = [self.view convertRect:self.addNewFolderButton.frame fromView:self.addNewFolderButton.superview];
    [self.popover presentPopoverFromRect:frame
                                  inView:self.view
                permittedArrowDirections:UIPopoverArrowDirectionAny
                                animated:YES];

CGRect frame = [self.view convertRect:self.addNewUserButton.frame fromView:self.addNewUserButton.superview];
    [self.popover presentPopoverFromRect:frame
                                  inView:self.view
                permittedArrowDirections:UIPopoverArrowDirectionAny
                                animated:YES];

但我的 popView 没有以相同的方式打开(与调用按钮的链接以不同的方式定位。为什么?

【问题讨论】:

那是因为你给了 allowedArrowDirections 为UIPopoverArrowDirectionAny。给两者一个特定的方向,它会正常工作,例如:UIPopoverArrowDirectionUp. 【参考方案1】:

因为您给箭头方向UIPopoverArrowDirectionAny 这意味着它可以是任何方向,所以为同质行为设置特定方向

【讨论】:

谢谢,这就是解决方案!

以上是关于为啥我的 UIPopoverController 会以这种方式弹出?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 UITableViewController self.tableView 属性在 UIPopoverController 中呈现时为 Nil?

UITableView 在 UIPopoverController 中时,为啥单元格边界和帧大小不正确?

动态 UIPopoverController 大小?

UINavigationController 在 UIPopOverController 中不起作用

UIPopoverController 位置

UIPopoverController 在 iOS 8 中的大小不正确