我正在开展一个爱好项目,以了解有关ios编程的更多信息。
我的主视图有9个按钮(3x3网格)。
我需要的是一种了解用户是否按下2或1按钮以及这些按钮的方法。
我正在制作记忆游戏,有时候用户需要同时按下2个按钮(一个接一个就不够了)。
我需要能够区分用户按下9个按钮中的1个或2个。
如果他们按下超过2被认为是作弊并被视为罢工。
我一直在读这个:
但我不确定该怎么做。
如何将我的9个按钮链接到1个漂亮的多点触控事件中,可以告诉我: 仅按下按钮3。 要么 按下按钮4和5。 ?
从那里开始,逻辑非常明确,但我遇到了IOS多点触控事件的问题。
由于
答案 0 :(得分:1)
触控界面非常灵敏,人类无法在“完全”同时按下两个按钮。
您可能需要做的是看看他们是否在“合理”的时间窗口内触及了两个且只有两个按钮,以便同时考虑。
一种方法是使用NSDate* press = [NSDate date];
调用记录按下每个按钮的确切时刻,然后将印刷机与NSTimeInterval* interval = [press2 timeIntervalSinceDate press1];
进行比较
一些聪明的时间间隔批处理和稍后的一些条件逻辑,你应该对“同时”按下进行一次很好的测试。
答案 1 :(得分:0)
如果我理解了文档,它应该像这样工作:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
父视图的方法
在(UIEvent *)事件中,U应该具有UITouchs的NSSet
NSArray *arrTouches = [[event allTouches] allObjects]
遍历数组并且:
UITouch *touch ---
touch.view -> check if this is button
应该是巫婆发生的观点