用于在滚动视图中跟踪对象的 Popover 箭头

Posted

技术标签:

【中文标题】用于在滚动视图中跟踪对象的 Popover 箭头【英文标题】:Popover's arrow to track an object in a scrollview 【发布时间】:2010-08-09 18:25:44 【问题描述】:

每当触摸我的表格视图中的单元格时,我都会显示一个弹出框,箭头指向单元格,并且始终指向左或右,而不是向上或向下。

表格视图设置为弹出框的passthroughView,以便用户可以在弹出框仍打开时选择不同的单元格,从而为所选单元格生成新的弹出框。

但是,这意味着用户也可以在弹出框打开时滚动表格。发生这种情况时,如何使弹出框的箭头继续指向所选单元格?

不幸的是,UITableView ,而不是包含在一个 UIScrollView 中,所以我不能简单地在 tableview 的坐标系中呈现弹出框。此外,表格单元格似乎没有定义的框架来呈现弹出窗口。我在 API 中看不到任何手动移动弹出框箭头的方法。

有什么想法吗?谢谢。

【问题讨论】:

【参考方案1】:

事实证明,即使弹出框已经出现,您也可以使用presentPopoverFromRect:InView:;这将导致弹出框控制器重新计算其箭头位置。

【讨论】:

这在技术问答 QA1694 中有记录:developer.apple.com/iphone/library/qa/qa2010/qa1694.html 刚刚在 ios 8 上进行了测试,但它不再起作用了。调用 presentPopoverFromRect:InView:... 不会更新 UIPopoverController 的箭头位置,一旦它被添加到屏幕上。

以上是关于用于在滚动视图中跟踪对象的 Popover 箭头的主要内容,如果未能解决你的问题,请参考以下文章

创建没有箭头并在 UIViewController 中居中的 PopOver

popover箭头方向无法确定

如何删除 iPad 的 Popover 箭头及其边框

弹出框内容视图的额外高度

Bootstrap 3 Popover 箭头和框定位

UITableView 中滚动的自定义视图