【发布时间】:2016-05-29 09:08:13
【问题描述】:
我发现触摸事件的这种最奇怪的行为。 甚至还没有分配目标视图 touchesEnded 将通过用 2 根手指而不是 1 根,必须是 2 根手指点击屏幕的任何部分来调用...然后它会跳过 touchesBegan,调用 touchesEnded。 我什至检查了目标视图的 userInteraction 是否设置为 YES 但没有,显然它设置为 NO 因为默认情况下它是 NO 但无论如何它都没有分配。
当目标视图已经分配和定位等时,所有这些都不会发生。
有人经历过吗? 为什么会发生这种情况,我是否必须分配属性以防止其触摸事件像疯了一样被随机调用? 另外,为什么这种奇怪的行为需要同时用两根手指而不是一次轻敲……这并不重要,但我只是很好奇。
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [[event allTouches] anyObject];
if (touch.view == self.buttonStartButton) {
NSInteger levelUp = [self.levelModel checkForLevelUp];
if (levelUp == 0) {
[self byeGameContainer];
}
else {
[self.delegate levelingUp];
}
}}
【问题讨论】:
标签: objective-c uiview uitouch touchesbegan touchesended