2015-01-27 1 views
0

있는 UIScrollView 다음있는 UIScrollView 내부I는 다음과 같이 구성된있는 UIScrollView이 행동

canCancelContentTouches:YES  
delaysContentTouches:NO 

, 내가 몇 UIButtons이는 (썸네일을 생각한다). 버튼을 클릭하면 터치가 감지되고 스크롤을 시작하면 예상대로 UIButton에서 터치가 취소됩니다.

내가 겪고있는 문제는 UIScrollView에 좋은 스윙을 주면 간단히 UIScrollView를 터치하여 스크롤을 멈추고, 일단 UIButton을 터치하면 버튼을 누른 상태에서 약 1 초 후에 Cacelled를 터치합니다. 내가 UIScrollView를 다시 스크롤 할 때까지

이 문제는 UIScrollView에서 여전히 끌리고 있다고 생각되는 것 같습니다. (이는 내가 마지막으로 터치했을 때 아직 움직이지 않았기 때문에 false입니다).

이상하게도 [UIScrollView setBounces:false]을 통해 수신 거부를 해제하면 더 이상 문제가 없습니다. 하지만 나는 분명히 문제를 일으키는 바운스를 잃는다.

나는 제스처 인식기 인 scrollview를 비활성화/다시 활성화하는 것과 같은 작업을 시도했습니다. 나는 여기서 아이디어가 부족하다.

답변

0

uibutton이 터치를 받으면 여기서 할 수있는 일은 uiscrollview 내용을 uiscrollview 수퍼 뷰 크기와 동일하게 설정할 수 있습니다.

uibutton이 터치 끝을 받으면 uiscrollview contentsize를 이전의 상태로 되돌릴 수 있습니다.

uiscrollview contentsize를 uiscrollview superview 크기와 동일하게 설정하면 uiscrollview 내용을 이동할 수 없습니다.

+0

입력 해 주셔서 감사합니다.하지만 사용자가 항상 스크롤 할 수 있어야합니다. UIScrollView를 만져보고 난 후에도 여전히 다음 터치에서 끌리고 있다고 생각하지 않는다. – Marc

+0

uISCrollview가 UIScrollview의 내용을 다시 UIScrollview로 설정할 때 uibutton이 터치 끝을 받으면 UIScrollview는 스크롤 할 수 있어야합니다. 당신은 당신의 UIButton을 하위 클래스에 추가해야합니다 - (void) touchesBegan : (NSSet *) touches withEvent : (UIEvent *) 이벤트 여기 superview 크기와 같은 scrollview contentsize를 설정하고 - (void) touchesEnded : (NSSet *) touches withEvent : (UIEvent *) 이벤트는 scrollview contentsize를 원래의 상태로 되돌려 놓습니다. – Shashi3456643

관련 문제