Swift:如何创建/定义用户触摸图像的区域(宽x高)?

时间:2018-01-11 23:31:49

标签: ios swift uiimageview touchesbegan

我正在尝试定义一个区域,例如80x80像素,用户触摸图像(触摸位置位于80x80矩形的中心)。

我知道如何获得触摸位置,但定义该区域现在比我的知识更胜一筹。

这就是我所做的:

//the imageView which contains a user image
@IBOutlet weak var imageView: UIImageView!

//the touchesBegan function to get the touch location
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        let touch = touches.first!
        let location = touch.location(in: imageView)
    }

现在我怎样才能创建一个80x80像素的区域,他在中心触摸位置并将其存储在某处?

所以X是触摸位置,我想定义它周围的区域:

 -------
|       |
|   X   |
|       |
 -------

1 个答案:

答案 0 :(得分:3)

你可以这样做:

let width: CGFloat = 80.0
let height: CGFloat = 80.0
let touchRectangle = CGRect(x: location.x - width / 2,
                            y: location.y - height / 2,
                            width: width ,
                            height: height)