获取 UIView 在 UIImageView 中的位置
Get position of an UIView in an UIImageView
我有以下内容:
(1) 是一个 Giphy。我希望能够将 giphy 移到垃圾箱。我得到 giphy 的坐标:
print("position of finger in moving giphy")
let position = gesture.location(in: imageViewImageTaken)
我很难找到 "trash" 图标的位置。这个图标是我的 UIImageView 的子视图,它是一张照片。
我试图通过以下方式获取 "trash" 图标的位置:
let positionTrash = imageViewBin.convert(imageViewBin.bounds, to: imageViewImageTaken)
但是当我将手指移到垃圾桶图标上并得到 (1) 的坐标时,它不匹配。
如何正确接收到(2)的位置?
由于frame
是视图在父视图坐标系中的x,y,width,height,可以使用frame
获取垃圾箱的x,y,width,height图像视图坐标系中的图标。不需要使用 convert
:
let trashFrame = imageViewBin.frame
你似乎对如何检查手指是否接触到垃圾桶还有一个误解。为此,您需要检查 CGRect
(trashFrame
) 是否包含 CGPoint
(position
)。这可以使用 CGRect.contains
:
来完成
if trashFrame.contains(position) {
print("The finger is on the trash icon!")
}
或者,获取手指的位置并检查它是否在 bounds
垃圾箱中:
let position = gesture.location(in: imageViewBin)
if imageViewBin.bounds.contains(position) {
}
我有以下内容:
(1) 是一个 Giphy。我希望能够将 giphy 移到垃圾箱。我得到 giphy 的坐标:
print("position of finger in moving giphy")
let position = gesture.location(in: imageViewImageTaken)
我很难找到 "trash" 图标的位置。这个图标是我的 UIImageView 的子视图,它是一张照片。
我试图通过以下方式获取 "trash" 图标的位置:
let positionTrash = imageViewBin.convert(imageViewBin.bounds, to: imageViewImageTaken)
但是当我将手指移到垃圾桶图标上并得到 (1) 的坐标时,它不匹配。
如何正确接收到(2)的位置?
由于frame
是视图在父视图坐标系中的x,y,width,height,可以使用frame
获取垃圾箱的x,y,width,height图像视图坐标系中的图标。不需要使用 convert
:
let trashFrame = imageViewBin.frame
你似乎对如何检查手指是否接触到垃圾桶还有一个误解。为此,您需要检查 CGRect
(trashFrame
) 是否包含 CGPoint
(position
)。这可以使用 CGRect.contains
:
if trashFrame.contains(position) {
print("The finger is on the trash icon!")
}
或者,获取手指的位置并检查它是否在 bounds
垃圾箱中:
let position = gesture.location(in: imageViewBin)
if imageViewBin.bounds.contains(position) {
}