系統內建的下拉重新整理
UITableView是我們最常用的iOS開發控制元件之一,列表的重新整理也是我們不得不的經常處理的操作,一般情況下我們會藉助於第三方的重新整理來實現(例如MJRefresh),其實早在iOS6.0系統就開始嘗試整合內建列表的重新整理控制元件,可以滿足一般意義上的下拉重新整理操作,使用也非常簡單,下面就讓我們來看一下這個內建的UIRefreshControl重新整理控制元件。
UIRefreshControl
該內建重新整理控制元件自iOS6.0之後開始支援,繼承自UIControl,主要用於UITableView的下拉重新整理(目前系統只在UITableViewController中集成了該控制元件)。UIRefreshControl控制元件具有三個基本的屬性,使用起來也相對簡單:
第一個refreshing,只讀屬性用來獲取控制元件當前的狀態,以便根據響應狀態進行不同的操作;
第二個tintColor,主要用於設定“旋轉菊花”渲染顏色;
第三個attributedTitle,主要用於設定顯示文字的屬性資訊;
只用兩個可供使用的方法:
- (void)beginRefreshing NS_AVAILABLE_IOS(6_0);開始重新整理操作,該方法可以不被顯性呼叫,例如在向下重新整理的過程中,只要向下拉動tableView,該方法會被系統自動呼叫,開始重新整理操作。
- (void)endRefreshing NS_AVAILABLE_IOS(6_0);停止重新整理操作,該方法需要顯性呼叫,來終止重新整理操作。
UIRefreshControl使用
目前系統只在UITableViewController中集成了該重新整理控制元件的使用,只需要對UITableViewController的refreshControl屬性進行相關操作即可。我們簡單模擬一下使用:
由於UIRefreshControl繼承自UIControl,所以可以通過addTarget方法新增響應事件,進行互動操作。基本使用還是很靈敏的,對於簡單的下拉重新整理操作互動,完全可以藉助該內建控制元件進行實現,增加了更多的可操作性和靈活性。