众所周知,为了使用UIAlertController
呈现preferredStyle: .actionSheet
,使用下一个代码设置锚点是一个好习惯:
popover.sourceView = view
popover.sourceRect = view.bounds
在我的情况下,视图为UIImageView
,它的大小为44x44,但其图像(三个垂直点)非常薄(大小为4x24)。所以观点大多是透明的。结果,popover“指向”空白空间。 (请注意,我使用红色来显示完全透明的区域)
理想情况下,popover的箭头应指向中央白点。但我不知道如何实现它。我尝试修改sourceRect
,如下所示:
popover.sourceRect = CGRect(x: view.bounds.midX - 1,
y: view.bounds.midY - 1,
width: 2,
height: 2)
但由于某种原因它指向顶部的白点:
如何指向所需的点?
答案 0 :(得分:0)
sourceRect
对我有用,我只是使用y坐标来定位箭头,它对我有用。
popover.sourceRect = CGRect(x: 0, y: yourPosition, width: 0, height: 0)
您还可以查看this。