Swift: 如何 create/define 用户触摸图像的区域(宽度 x 高度)?
Swift: How to create/define an area (width x height) where the user touched an image?
我正在尝试定义一个区域,比方说 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 |
| |
-------
你可以这样做:
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)
我正在尝试定义一个区域,比方说 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 |
| |
-------
你可以这样做:
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)