UIPanGestureRecognizer 클래스를 쓰면서 이해가 안가는 것이 발생됐다;;;
바로 velocity라는 함수를 사용해서 나의 imageView가 어느 방향에 위치했는지 CGPoint 값으로 알려줄 때
왜..?!!!!
velocity.y < 0 인 경우에 up 방향이라고 출력하는지 말이다!!!!
진쨔 이거 궁금해서,,, 전형적인 문과러인 나는.. 이게 무슨 개소리냐 어떻게 0보다 작은데
이게 어? 당연히 down이지 up이냐,, 싶었다..
우선,, 코드는 이것과 같습니다...
let velocity = panGestureRecognizer.velocity(in: imageView)
if abs(velocity.x) > abs(velocity.y) {
velocity.x < 0 ? print("left") : print("right")
print(velocity.x, velocity.y)
} else if abs(velocity.y) > abs(velocity.x) {
velocity.y < 0 ? print("up") : print("down")
}
절댓값을 통해서 방향을 출력하고자 했어요~!
아주 기본적으로 x의 위치는 상식 내에서의 이야기라 가볍게 이해가 갔습니다.
만약, 절댓값 y > 절댓값 x 이면
당연히 수직값이 더 크다는 소리니까 상하로 많이 움직였다는 소리이기에
좌우는 배제하고 상하에 집중해 값을 출력하자는 뜻이겠쬬오~~?!?!
여하튼..! 제 궁금증에 대한 대략적인 답을 찾아서!
적어봅니다!
바로 이것입니다!
우리가 AutoLayout을 기반으로 뷰를 짤 때,,,!
좌상단을 항상 (x:0, y:0) 기준으로 짜잖아요?
그래서 혹시나 하고 velocity.y 가 아닌 그냥 imageView의 x와 y값을 출력해봤습니다.
좌상단 - imageView (71, 103)
우하단 - imageView (290, 640)
x : 좌 -> 우 : 값이 더 커진다.
y : 상 -> 하 : 값이 더 커진다.
라는 결론에 도달했습니다!!
그러니까 결론은,,,, velocity.y < 0 이면 up 인 게 당연하다는 것이었져,,,,
그렇답니다. 그래요. 저만 이해가 안갔어요. 그래요. 모두들 안녕.
📚
>> 아촤촤 저 실습 따라한 링크는 이것입니다!!
나의 iOS 온라인 선생님이신 zeddiOS.... : zeddios.tistory.com/356
'⭐️ 개발 > iOS & Swift' 카테고리의 다른 글
[Swift] 클래스(Class) /구조체(Struct) /열거형(Enum) 정리 + 차이점 (2) | 2021.04.29 |
---|---|
[iOS] UIPanGestureRecognizer 사용해서 모달화면 아래로 dismiss하기 (2) | 2021.04.24 |
[iOS] 스토리보드/코드로 화면 전환하기 - Navigation(push/pop) (1) | 2021.04.15 |
[iOS] Storyboard Reference 쓰는 이유와 방법 (0) | 2021.04.15 |
[iOS] 스토리보드/코드로 화면 전환하기 - Modal(present/dismiss) (0) | 2021.04.15 |