尝试将触摸解析到位置始终将零(0)作为x位置返回
-
06-07-2019 - |
题
在为我的视图编写touchesBegan处理程序时,我遇到了这个有趣的错误。
代码:
...
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
...
问题是point.x始终为零,无论我在哪里“触摸” y是一个巨大的数字,在1070000000到1090000000之间波动。
句柄在视图类中,它的工作方式相同,我将nil而不是self传递给locationInView。我也试过循环遍历所有的触摸,并且只有一个x始终为零。
那我在这里做错了什么?
解决方案
你有可能使用NSLog(@“%d,%d”,point.x,point.y);打印出点值?听起来有点像漂浮物 - > int转换错误。我已经使用了locationInView:很多,而且我从来没有像这样的问题。
您也可以尝试检查[自我框架]以确保它非零。
其他提示
本是对的。问题是当您尝试使用
NSLog
中的%d
打印值时,因为 point.x
和 point.y
是浮点值。 不隶属于 StackOverflow