2011-12-04 3 views
4

UITableViewCell 안에 UIButton이 있어야하는데, 버튼을 터치하고 손가락을 움직이면 테이블이 스크롤되지 않는 것이 좋습니다.UITableViewCell의 UIButton을 터치해도 테이블을 스크롤 할 수 없습니다.

UIButton을 하위 클래스로 만들려고했는데 touchesMoved : 메서드에서 self.nextResponder에게 동일한 메시지를 보내거나 touchesCancelled를 호출하여 다음 이벤트 응답자에게 터치 이벤트가 전달되기를 바랍니다. 둘 다 작동하지 않습니다.

이 문제를 해결할 수있는 좋은 방법이 있습니까? 현재 UITableViewCell 상단에 UIView을 추가하고 터치 이벤트를 수동으로 감지하여 결과를 버튼 또는 나머지 셀에 각각 전달합니다.하지만 이는 약간 더러운 것입니다.

답변

2

당신이 YESUITableViewdelaysContentTouches 속성을 설정하는 것입니다 시도 할 수 있습니다.

또한 당신은 canCancelContentTouchesYES을 설정할 수 있습니다.

이 속성의 값이 0이면 내용보기가 추적을 시작하면 손가락 움직임에 관계없이 스크롤보기에서 을 스크롤하지 않습니다.

출처 : UIScrollView Class Reference

시도 :

_yourTableView.delaysContentTouches = YES; 
_yourTableView.canCancelContentTouches = YES; 
-2

가장 좋은 방법은 사용자 지정 셀을 만들고 작업을 깔끔하게 정리하는 것입니다.

확인 Apple docs

+1

이 문서에 바로 링크입니다. 피드백이나 힌트를 제공하지 않습니다. – RaffAl

+0

@ reecon : 하나의 제안 : 그냥 문서를 읽으면 왜 대답이되었는지 이해할 수 있습니다 –

+0

읽었습니다. 나는 또한 모든 연결된 문서를 읽었다. UITableViewCell에 UIButton을 두는 것에 대해서는 아무 것도 없습니다. – RaffAl

관련 문제