Don’t worry about failures

gesture에 대해 본문

react native

gesture에 대해

허흥 2022. 3. 2. 17:38
728x90

이번 글은 react native는 아니고, native 단에 대해 글을 작성해본다.

영상 편집의 경우 react native로는 한계가 있어 native를 통해 구현하기로 했고, 이 부분은 엄청 오랫동안 고생했던 문제이다

1.
UIPanGestureRecognizer와
UIRotationGestureRecognizer

이 둘의 이벤트를 줄 때 문제가 있었다. 로테이션을 돌린 후에 pan gesture를 취하면 로테이션 돌린 각도만큼 휜 상태로 움직인다.. 이를 찾기 위해 엄청 고생했다.

일단 문제에 대한 답을 얻기 위해 stackoverflow에 남길 글이다.
https://stackoverflow.com/questions/71062879/image-moving-while-rotating?noredirect=1#comment125623932_71062879

Image moving while rotating

I just move sticker after rotate, but the direction of the moved sticker is changed as much as the rotation angle and moves please help me, i don't know why this happen panGesture: UIView *gestureV...

stackoverflow.com


글은 올렸지만, 적절한 답변을 못얻어 해결하지 못했다.
더 찾아보다 해당 글을 발견하고,, 해결할 수 있게 되었다.
https://stackoverflow.com/questions/12525922/pan-gesture-after-rotation-behaves-incorrect

pan gesture after rotation behaves incorrect

I have similar question as in below link Why I use "pan" after rotae will make view go opposite way? But, this link also didn't solved my problem. I am using pan, pinch and rotation ges...

stackoverflow.com


원인에 대해 파악해보자

일단 내가 생각하고 있었던 문제처럼 rotation을 돌린 상태에서 pan gesture 이벤트를 받아보면
gesture의 point가 내가 얻고자 하는 값을 리턴하지 않는다.

이를 해결하고자 내가 직접 터치한 view에서 point 값을 얻는 것이 아닌 gesture의 View의 superview를 타겟해서 point 값을 가져와 적용시키면 해결이 된다.

UIView *gestureView = gesture.view;

CGPoint point = [gesture translationInView:[gestureView superview]];

힘들었다.

728x90

'react native' 카테고리의 다른 글

react-native center slider  (0) 2022.01.24
React-native-video 문제 그리고 첫 opensource Pr  (0) 2022.01.13
React native 구동 방식 ( 신 )  (0) 2021.12.26
React native 구동 방식 ( 구 )  (0) 2021.12.25
dependency 버전 문제  (0) 2021.12.18