我有UIButton
拉伸到视图的大小(覆盖视图/屏幕)。
我设置了一个触地得分动作,我需要在此动作中找出按钮上按下/按下的位置(获取x和y坐标)。
有可能吗?
答案 0 :(得分:3)
使用sender
和event
参数创建动作函数。然后,您可以在按钮上获得触摸位置。
@IBAction func buttonAction(sender: AnyObject, event: UIEvent) {
// downcast sender as a UIView
let buttonView = sender as UIView;
// get any touch on the buttonView
if let touch = event.touchesForView(buttonView)?.anyObject() as? UITouch {
// print the touch location on the button
println(touch.locationInView(buttonView))
}
}
答案 1 :(得分:0)
接受答案的Swift 3 版本:
@IBAction func increaseButtonTapped(sender: UIButton, event: UIEvent) {
// get any touch on the buttonView
let events = event.touches(for: sender)
for event in events! {
let location = event.location(in: sender)
print("\(location)")
}
}