首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS上检测按钮按下的坐标?

如何在iOS上检测按钮按下的坐标?
EN

Stack Overflow用户
提问于 2014-06-12 02:34:11
回答 3查看 73关注 0票数 0

所以我为iOS做了一个扫雷舰的克隆,我有一个包含135个按钮(扫雷板)的UIButtons数组。它看起来很棒,理论上应该很好用。但我在检测哪个按钮被按下时遇到了麻烦。我试着使用下面的代码来解决这个问题;

代码语言:javascript
复制
    UITouch *touched = [[event allTouches] anyObject];
    CGPoint location = [touched locationInView:touched.view];
    NSLog(@"x=%.2f y=%.2f", location.x, location.y);
    int pointX = location.x;
    int pointY = location.y;

我的目标是获取触摸的坐标,然后使用一些基本的数学来找出哪个按钮被按下了。然而,它不起作用。完全没有。没有按钮被按下,没有函数运行,基本上什么也没有发生。我只剩下一个扫雷板,你不能和它打交道。有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2014-06-12 02:36:46

为每个按钮的标签分配一个单独的编号。使用按钮的目标,而不是UITouch代码。当您获得一个buttonPress时,查询标记。

票数 1
EN

Stack Overflow用户

发布于 2014-06-12 04:01:24

您可以将按钮划分为子类,然后对该子类中的按钮发生触摸时需要发生的操作进行编程。

票数 0
EN

Stack Overflow用户

发布于 2014-06-12 04:40:11

可以通过调用以下命令来访问UIButton *:

代码语言:javascript
复制
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

在self上(我想是一个UIView *)。因此,我认为您可以将按钮设置为按下状态,并在调用touchesEnded:时将其重新设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24170115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档