2013-03-20 9 views
0

숫자가 포함 된 UILabel에 팬 제스처를 추가했습니다. 사용자가 팬을 위 또는 아래로 움직일 때 번호를 위/아래로 이동 시키길 원합니다. 나는이 일을 잘 해냈다. 24 좌표를 올리는 것은 24 등으로 숫자를 줄인다.팬 제스처 좌표 변환

지금해야 할 일은 20 좌표 간격으로 숫자가 증가하도록하는 것이다. 좌표는 50과 70 사이이며, 좌표는 100에서 120 사이이고, 숫자는 100 씩 증가하는 식으로 50 씩 증가합니다.

모든 경우에 거대한 if/else 트리를 추가하지 않으면 어떻게 할 수 있습니까? for 루프를 사용하는 아주 간단한 방법이있을 것입니다. 그러나 피곤한 두뇌는 머리를 감싸고있는 것처럼 보일 수 없습니다.

답변

1

몇 가지 기본적인 수학과 정밀도를 없애는 법.

간격을 반으로 늘리면 기본 반올림이 시작됩니다. 예 : 9 라운드에서 0으로, 11 라운드에서 20까지 반올림

+0

감사합니다. – bmueller

0

값을 정규화 할 수 있습니다. 다음 코드를 사용해보십시오.

 CGPoint loc = [sender locationInView:self]; 

     int y = (int)loc.y/20; 
     y = y * 20; 
     myValue += y; 
관련 문제