iOS 上拉下拉刷新簡單實現代碼

通常說到上拉刷新下拉刷新,不少人可能想到的是一個第三方開源框架EGORefresh,下面說下,如何本身寫代碼實現。框架

UITableView自己是一個UIScrollView,因此UITableView能夠實現UIScrollView的代理方法。上拉和下拉刷新無非是UIScrollView偏移到必定程度調用刷新方法。 實現- (void)scrollViewDidScroll:(UIScrollView*)scrollView代理方法便可。代碼以下:spa

(void)scrollViewDidScroll:(UIScrollView *)scrollView代理

 
{
 
     // 假設偏移表格高度的20%進行刷新
 
     
 
     if (!_isLoading) {  // 判斷是否處於刷新狀態,刷新中就不執行
 
         
 
         // 取內容的高度:
 
         //    若是內容高度大於UITableView高度,就取TableView高度
 
         //    若是內容高度小於UITableView高度,就取內容的實際高度
 
         float height = scrollView.contentSize.height > _tableView.frame.size.height ?_tableView.frame.size.height : scrollView.contentSize.height;
 
         
 
         if ((height - scrollView.contentSize.height + scrollView.contentOffset.y) / height > 0.2) {
 
             // 調用上拉刷新方法
 
         }
 
         
 
         if (- scrollView.contentOffset.y / _tableView.frame.size.height > 0.2) {
 
             // 調用下拉刷新方法
 
         }
 
     }
 
}
相關文章
相關標籤/搜索