문제

내 견해를 위해 TouchesBegan 핸들러를 작성하는 동안 나는이 흥미로운 오류에 부딪쳤다.

암호:

...
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
...

문제는 Point.x입니다. X는 내가 "터치"하는 곳에 관계없이 항상 0이며, Y는 1070000000에서 1090000000 사이의 어딘가에 흠뻑 적시는 막대한 숫자입니다.

핸들은 뷰 클래스에 있으며 동일하게 작동합니다. 나는 또한 모든 터치를 통해 반복을 시도했지만 항상 x를 가진 것만으로 만 있습니다.

그래서 내가 여기서 뭘 잘못하고 있니?

도움이 되었습니까?

해결책

nslog (@" %d, %d", point.x, point.y)를 사용하는 기회; 포인트 값을 인쇄하려면? 플로트 -> int 변환 오류처럼 들립니다. LocationInview : 많은 것을 사용했는데 이런 문제가 없었습니다.

셀프 프레임]을 확인하여 0이 아닌지 확인할 수도 있습니다.

다른 팁

벤이 옳다. 문제는 사용 값을 인쇄하려고 할 때입니다. %d 안에 NSLog, 왜냐하면 point.x 그리고 point.y 플로트 값입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top