在UIImageView中获取UIView的位置

问题描述 投票:0回答:1

我有以下内容:

enter image description here

((1)是Giphy。我希望能够将小礼物移到垃圾箱。我通过以下方式获得该giphy的坐标:

    print("position of finger in moving giphy")
    let position = gesture.location(in: imageViewImageTaken)

我很难找到我的“垃圾箱”图标的位置。此图标是我的UIImageView的子视图,它是一张照片。

我尝试通过以下方法获取“垃圾箱”图标的位置:

let positionTrash = imageViewBin.convert(imageViewBin.bounds, to: imageViewImageTaken)

但是当我将手指移至回收站图标并获得(1)的坐标时,它不匹配。

如何正确接收(2)的位置?

swift xcode uigesturerecognizer
1个回答
2
投票

由于frame是其超级视图坐标系中视图的x,y,宽度,高度,因此可以使用frame来获取图像视图坐标系中垃圾图标的x,y,宽度,高度。 。无需使用convert

let trashFrame = imageViewBin.frame

您似乎对如何检查手指是否在碰垃圾桶还有误解。为此,您需要检查CGRecttrashFrame)是否包含CGPointposition)。可以使用CGRect.contains

完成
CGRect.contains

或者,获取手指的位置并检查它是否在垃圾箱的if trashFrame.contains(position) { print("The finger is on the trash icon!") } 中:

bounds
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.