2011-03-24 5 views
0

안녕하세요 여러분, 저는 uiscrollview에 문제가 있습니다. 나는 UIView의 애니메이션을 통해 contentOffset의 scollview를 변경하는 버튼을 누르면 그래서 나는 이런 일이 :uiscrollview가 contentOffset 변경 내용을 표시하지 않는 이유는 무엇입니까?


NSLog(@"%@\n %f %f", scroll, scroll.contentOffset.x, scroll.contentOffset.y);  
[UIView beginAnimation:@"anima" context:nil]; 
[UIView setAnimationDuration:0.5]; 
scroll.contentOffset = CGPointMake(0,index * scroll.frame.size.height; 
[UIView commitAnimations]; 
NSLog(@"%@\n %f %f", scroll, scroll.contentOffset.x, scroll.contentOffset.y); 

전에 이러한 지시 후 로그 cotentOffSet 만들기 변경을하고 분명히있는 ScrollView는 기존 인스턴스는 그래서입니다 nil과 다릅니다. 문제는 화면이 이동하지 않는 오프셋 스크롤 뷰를 변경하지 않는다는 것입니다.
코드의 다른 부분과 다른 scrollview에서 동일한 작업을 수행하지만 완벽하게 작동합니다.


[scroll setContentOffset:CGPointMake(0, index * currentVerticalScrollView.frame.size.height) animated:YES] ; 

을하지만 너무 변경되지 않습니다
는 또한 시도!
왜 작동하지 않습니까?

+0

당분간 주요 스레드에 분명히 있습니까? – Tommy

+0

물론 그렇습니다. – SimoneLeopizzi

답변

0

원래 스크롤 할 때 setContentSize:을 호출하도록 설정 했습니까? 스크롤 오프셋을 허용 할만큼 충분히 컸습니까?

그렇다면 [scroll setNeedsDisplay]이 필요합니다.

관련 문제