2012-11-13 1 views
1

UITableView의 사용자 지정 하위 클래스를 디자인했습니다. 어떤 시점에서 UITableView의 직접 하위 뷰로 UIView를 추가하고 손가락으로 테이블 뷰 내에서 드래그 한 다음 테이블 뷰에서 제거해야합니다. UILongPressGestureRecognizer를 사용하여 iOS 캘린더 앱과 비슷한 방식으로보기를 만들고 프레임을 재설정하여 tableview 주위로 드래그 한 다음 셀에 추가하여 테이블보기에서 제거합니다.UITableView의 하위보기로 UIView를 드래그하여 손가락 뒤쪽으로 뒤짐

이 방법이 유용하지만주의해야합니다. 손가락을 너무 빨리 움직이면 UIView에서 "그립력을 상실합니다."다시 볼 때 뷰의 프레임 내에서 손가락을 뒤로 움직이지 않으면 손가락에 따라 가지 않습니다.

UITableView는 UIScrollView에서 서브 클래 싱되었으므로 UIView의 exclusiveTouch 속성을 YES로 드래그하면서 테이블 뷰의 delaysContentTouchs 및 canCancelContentTouches 속성을 NO로 설정해 보았습니다. 아무것도 효과가 없습니다.

궁극적으로 iOS 캘린더 앱에 내장 된 것처럼 반응성이 뛰어나 궁극적으로 테이블 뷰 내부로 UIView를 드래그 할 수 있기를 바랍니다. 이견있는 사람?

P. 나는 상대적으로 iOS 개발에 익숙하지 않으므로 여기에서 몇 가지 주요 사항이 있다면 용서해주십시오.

답변

1

문제가 해결되었습니다. 결과적으로 설치에 본질적으로 잘못된 것은 없었습니다 (UITableView에 하위 뷰 추가 및 드래그).

많은 파기 끝에보기가 새로운 좌표로 끌릴 때마다 hitTest를 수행하고 있음을 발견했습니다. 매 초마다 이러한 집중적 인 작업을 수행하는 것이 장치에서 충분히 이상한 행동을 유발하는 속도를 늦출 수 있음을 알 수있었습니다. 내가 그것을 바꿨을 때, 모든 것이 완벽하게 작동했습니다.

궁극적으로 배울 교훈은 내 View Controller 하위 클래스가 너무 복잡하여 쉽게 읽을 수 없다는 것입니다. 이 문제를 발견하는 데 너무 많은 파기가 필요했습니다. 그 후로 나는 코드를 단순화하기 위해 큰 고통을 겪었습니다. 믿을 수 없을만큼 보람되었습니다.

+0

코드를 공유 할 수 있습니까? 기능이 필요합니다. !!! –

관련 문제