一、
1.1使用animated參數(shù),可以獲得正確的UIScrollViewDelegate的回調(diào);而使用UIView動(dòng)畫(huà)則不能。
scrollViewDidScroll:
scrollViewDidEndScrollingAnimation:
1.2不使用animated參數(shù),只可以回調(diào)scrollViewDidScroll:
二、
2.1使用animated參數(shù),可以獲取到動(dòng)畫(huà)過(guò)程中contentOffset的值。
eg:
[scrollView setContentOffset:CGPointMake(0, 100) animated:YES];
NSLog(@"%f", scrollView.contentOffset.y);//輸出:0.000000
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
NSLog(@"%f", scrollView.contentOffset.y);//輸出:25.500000,每次輸出不保證一致
});
2.2不使用animated參數(shù),使用UIView動(dòng)畫(huà)后,無(wú)論在什么時(shí)候查詢contentOffset的值,得到的都是動(dòng)畫(huà)的最終值。
[UIView animateWithDuration:0.25
animations:^{
[scrollView setContentOffset:CGPointMake(0, 100)];
}];
NSLog(@"%f", scrollView.contentOffset.y);//輸出:100.000000
詳情見(jiàn):http://ios.jobbole.com/85224/