如何指定弹出控制器箭头指向的位置

时间:2018-05-23 13:08:45

标签: ios uipopovercontroller uialertcontroller

众所周知,为了使用UIAlertController呈现preferredStyle: .actionSheet,使用下一个代码设置锚点是一个好习惯:

 popover.sourceView = view
 popover.sourceRect = view.bounds

在我的情况下,视图为UIImageView,它的大小为44x44,但其图像(三个垂直点)非常薄(大小为4x24)。所以观点大多是透明的。结果,popover“指向”空白空间。 (请注意,我使用红色来显示完全透明的区域)

enter image description here

理想情况下,popover的箭头应指向中央白点。但我不知道如何实现它。我尝试修改sourceRect,如下所示:

popover.sourceRect = CGRect(x: view.bounds.midX - 1,
                            y: view.bounds.midY - 1,
                            width: 2,
                            height: 2)

但由于某种原因它指向顶部的白点:

enter image description here

如何指向所需的点?

1 个答案:

答案 0 :(得分:0)

sourceRect对我有用,我只是使用y坐标来定位箭头,它对我有用。

popover.sourceRect =  CGRect(x: 0, y: yourPosition, width: 0, height: 0)

您还可以查看this