UIScrollView的滾動,停止(UIScrollViewDelegate)

UIScrollView的滾動,停止(UIScrollViewDelegate)


在使用UIScrollView和它的子類UITableView時,有時需要在不同操作狀態下,做不同的響應。

如何截獲這些狀態,如正在滾動,滾動停止等,使用UIScrollViewDelegate_Protocol


@interface SampleClass: UITableViewController<UIScrollViewDelegate> {

...

}

...

@end


@implement SampleClass

...

#pragma mark -
#pragma mark UIScrollViewDelegate

// 觸摸屏幕來滾動畫面還是其他的方法使得畫面滾動,皆觸發該函數
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    NSLog(@"Scrolling...");
}

// 觸摸屏幕並拖拽畫面,再鬆開,最後停止時,觸發該函數
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    NSLog(@"scrollViewDidEndDragging  -  End of Scrolling.");
}

// 滾動停止時,觸發該函數

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    NSLog(@"scrollViewDidEndDecelerating  -   End of Scrolling.");
}

// 調用以下函數,來自動滾動到想要的位置,此過程中設置有動畫效果,停止時,觸發該函數

// UIScrollView的setContentOffset:animated:

// UIScrollView的scrollRectToVisible:animated:

// UITableView的scrollToRowAtIndexPath:atScrollPosition:animated:

// UITableView的selectRowAtIndexPath:animated:scrollPosition:

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
    NSLog(@"scrollViewDidEndScrollingAnimation  -   End of Scrolling.");
}

@end


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章