没有箭头无法定位弹出框
Posted
技术标签:
【中文标题】没有箭头无法定位弹出框【英文标题】:Not able to position popover without the arrow 【发布时间】:2018-03-20 14:43:43 【问题描述】:当用户单击导航栏标题(标签 + 图像)时,我将弹出框(呈现为弹出框)显示为下拉菜单。我无法将导航栏标题设置为弹出框的锚视图。所以对于锚点视图,我添加了一个清晰的 1x1 按钮,它位于导航栏的正下方(button.top = safe area.top)
我可以通过更改 sourceRect 中的 y 值来沿 y 轴定位弹出框。
popover?.sourceRect = CGRect(x: 0, y: -10, width: 1, height: 1)
它看起来不错,只是我不希望弹出窗口中的箭头。所以我添加了这行代码。
popover?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
现在,我无法正确定位弹出框。我在 sourceRect 中指定的 y 值无关紧要,弹出框保持在同一个位置。
我做错了什么?
谢谢。
【问题讨论】:
看起来您没有考虑导航栏。我没有看到您的 sourceView 值,但我认为它是视图控制器的视图,这可以解释差异。您也可以减去导航栏的高度,这应该得到您想要的。 【参考方案1】:问题是那不是如何压制箭头。正确的方法是提供一个不绘制箭头的自定义 UIPopoverBackgroundView。
但是最好不要这样做。弹出框有箭头。如果您不想要箭头,请不要使用弹出框。改为编写自定义呈现的视图控制器。
【讨论】:
以上是关于没有箭头无法定位弹出框的主要内容,如果未能解决你的问题,请参考以下文章
updatepanel 里面放ASPxGridView,使用RegisterClientScriptBlock方法,弹出框弹不出