点击UIButton时手指的iOS x坐标

Alb*_*haw 1 location button touch touchesbegan ios

我有一个UIButton.当用户点击所述按钮时,如何获得手指的x坐标.我认为它将涉及touchesBegan,但如果按钮上出现"touchesBegan",我怎么才能获得值?如果有一种方法(不仅监视按钮的x,y,宽度和高度,并检查我的触摸是否在该区域)我将需要禁用按钮的用户交互,以便代码可以处理它而不是内置xib的东西.谢谢!

rob*_*off 9

"敲击"通常被认为是按钮内部的触摸,然后是按钮内的触摸.你需要弄清楚你是想要内接触摸事件还是内接触摸事件(或两者兼而有之).

假设您想要内触式活动.在视图控制器中编写这样的方法:

- (IBAction)buttonWasTouched:(UIButton *)button forEvent:(UIEvent *)event {
    NSSet *touches = [event touchesForView:button];
    NSLog(@"button:%@ touches:%@", button, touches);
}
Run Code Online (Sandbox Code Playgroud)

如果您在笔尖中创建按钮,请按住Control键并单击该按钮并将其"Touch Down"插座连接到buttonWasTouched:forEvent:视图控制器(可能是文件所有者)上的操作.

如果您在代码中创建按钮,请发送addTarget:action:forControlEvents:按钮将其UIControlEventTouchDown事件连接到视图控制器的buttonWasTouched:forEvent:操作.

如果您想捕捉内部触摸事件,请在笔尖中连接其"Touch Up Inside"插座,或使用UIControlEventTouchUpInside代码.