iT邦幫忙

DAY 29
14

我愛吃蘋果系列 第 29

 [iPhone程式設計 之 iT邦幫忙 App] 下拉以更新(Pull-To-Refresh)元件 

如果你有使用 iPhone 版的 facebook 或 twitter App, 你應該會發現在某次改版之後, 它們更新資料的方法改用了一種叫 下拉以更新(Pull-To-Refresh)的元件。
就像下面這幾張圖:


這個元件還蠻酷炫的,使用上也很方便, 所以我也想把它加入到 iT邦幫忙 App 之中。 向 Google 大神詢問的結果, 網路上已經有人家做好現成的原始碼可以直接加入到你的專案裡使用 (請點我下載), 那我就不客氣直接拿來用了! :P

它的原理說穿了其實很簡單, 就是使用 UIScrollView 元件, 因為只有 ScrollView 才能做這樣的拖拉, 也有相對應的 UIScrollDelegate 事件可以處理, 需要處理的事件分別是 scrollViewWillBeginDragging:, scrollViewDidScroll: 和 scrollViewDidEndDragging:。 而 iT邦幫忙 App 文章列表使用的是 UITableView 元件, 它剛好是 UIScallView 的一個子類別, 所以剛好可以使用。

原理說起來很簡單, 但實際實作對於我這個新手來說, 還是有不少的難度,所以就直接套用這位作者所分享出來的元件, 把原本繼承 UITableView 的類別改繼承 UIPullToReloadTableViewController, 然後在自己的程式碼裡再覆寫掉 -(void) pullDownToReloadAction 方法即可, 這個方法裡面就是你想要做的更新動作。 簡單搞定~

不過這位作者是使用 Apache License 來分享這個原始碼的,所以如果你也用了這個元件,且想要賣錢的話, 請跟原作者聯絡一下,看該怎麼買斷授權。不過我的 iT邦幫忙 App 本來就讓大家下載原始碼,所以沒這個問題, 歡迎大家批評指教囉~


上一篇
 [iPhone程式設計 之 iT邦幫忙 App] 錄製 iPhone 操作影片 
下一篇
 [iPhone程式設計 之 iT邦幫忙 App] (最終章) 0.5 版原始碼開放下載 
系列文
我愛吃蘋果30

尚未有邦友留言

立即登入留言