0

UIViewController에서 UIScrollView 및 해당 대리자를 구현하고 있습니다. 그것은 horiztonal 방식으로 스크롤합니다.scrollViewWillEndDraggin : WithVelocity : targetContentOffset 대리자 메서드 버그

원하는 것은 뷰를 드래그하여 안정화 할 때 "자력"을 설정하는 것입니다.

나는 그렇게하기 위해 대표자의 말을 듣고있다. 최종 목적지의 오프셋을 반환합니다. 그러면 scollview는 setContentOffset 또는 setvisiblerect 메소드를 사용하여이 destionation에 해당하는 뷰를 표시합니다.

또한 NSlog 전체 메서드 버그를 잡으려고합니다. 특히 메소드를 호출 한 후 즉시 확인 된/확인할 수없는 nslog가 있습니다. 메소드가 트리거되면.

문제 : &을 실행하면 첫 번째 nslog가 드래그하여 평균 3 회 트리거됩니다. 전체 효과가 매우 이상하게 보입니다. 효과가 있는지 여부를 알 수 없습니다.

그물에 관해서는 거의 발견하지 못했습니다. 그래서 당신은 단서가 있다면 큰 도움이 될 것입니다. 환호

나는 종류의 필사적 :/

답변

1

그래서 당신은 사용자가 드래그 할 때 스크롤 뷰가 유효한 선택에 스냅하려면? 당신은

- (void)scrollViewWillBeginDragging:(UIScrollView *)thisScrollView 

- (void)scrollViewWillDidScroll:(UIScrollView *)thisScrollView 

방법을 사용하여이를 구현 할 수 있어야한다. 코드를 보지 않고 나는 정확히 이것에 대해 이동하는 방법을 말할 수 없다,하지만 난 변수에 thisScrollView.contentOffset.x을 추적하고, 이동하는

[UIView beginAnimations: @"anim" context: nil]; 
[UIView setAnimationBeginsFromCurrentState: YES]; 
[UIView setAnimationDuration: movementDuration]; 
self.view.frame = CGRectOffset(self.view.frame, 0, movement); 
[UIView commitAnimations]; 

전화와 함께있는 ScrollView를 이동하는 일부 연산을하는 것이 좋습니다 그것은 적절한 장소에.

+0

답해 주셔서 감사합니다하지만 scrollViewWillDidScroll은 존재하지 않습니다 :/ – louisD

+0

해당 scrollViewDidScroll. 죄송합니다! – jacerate