translationInView
là thay đổi delta của một cử chỉ. Nếu bạn di chuyển ngón tay sang trái bằng 20 pt, bạn sẽ nhận được (-20.0, 0.0)
, nó đã "tuyệt đối" theo nghĩa đó.
Điều bạn có thể muốn nói là bạn muốn locationInView
, tương ứng với chế độ xem được trao cho đối số, ngay cả khi chế độ xem được cho là không nhận dạng được sự kiện. Thông thường, bạn sẽ trao chế độ xem của trình điều khiển chế độ xem hoặc chế độ xem sẽ xử lý sự kiện hoặc chế độ xem phụ có ý nghĩa hơn đối với việc triển khai của bạn.
Ngoài ra, cần lưu ý, nếu bạn cần tuyệt đối thực tế, bạn có thể trao nil
thông qua các đối số, và nó sẽ trả về nó liên quan đến cửa sổ (aka. "Tuyệt đối")
Và, nếu bạn cần làm logic với các chế độ xem khác, bạn có thể chuyển đổi toạ độ từ chế độ xem này sang chế độ xem khác với các phương pháp thể hiện UIView
: convertRect:fromView:
, convertRect:toView:
, convertPoint:fromView:
, convertPoint:toView:
. Các phương thức này cũng chấp nhận nil
làm đối số xem có nghĩa là "tuyệt đối" đối với cửa sổ.
Tuyệt vời! Tôi hoàn toàn bỏ lỡ điểm rằng những cử chỉ này bắt nguồn từ UIGestureRecognizer! Một lần nữa, xin cảm ơn rất nhiều! – Ravi
Oh BTW, locationInView là những gì tôi đang tìm kiếm ... – Ravi
@Can Theo các tài liệu 'translationInView:' cung cấp cho toàn bộ chuyển động, không phải là chuyển động delta. –