swift - 空白頁快速集成(tableView/CollectionView)

近期在整理過去一年代碼,順便安利分享一些小輪子.

EmptyPage - Github

一個UITableView / UICollectionView擴展,用于在視圖沒有內(nèi)容顯示的時候顯示空白頁.

示例

empty1.gif

默認提供了三套樣式(純文字/純圖片/標(biāo)準)

三套樣式.png

安裝

  • 使用cocoapods安裝
# 如果采用自定義樣式,只需要引入 Core
pod 'EmptyPage/Core'
# 如果預(yù)設(shè)樣式能夠滿足需求, 可以使用一下形式引入
pod 'EmptyPage'
pod 'EmptyPage/Standard'
# 后期加入的通用樣式將以擴展的形式加入到以下倉庫中
pod 'EmptyPage/Spec'

使用

  • 由于swift 4.0 取消了 'initialize' 函數(shù),所以需要在合適的時機執(zhí)行以下函數(shù)才可以正常工作:
EmptyPage.begin()
  • 只引入 'EmptyPage/Core':

    適合構(gòu)建有豐富特性的自定義樣式.

// 需要自定義空白頁樣式
let emptyView = EmptyView()
// 直接給emptyView屬性賦值,會在reloadData的時候判斷是否需要顯示
collectionView.emptyView = emptyView
// 調(diào)用reloadData/delete/insert才會判斷是否需要顯示
collectionView.reloadData()
  • 引入 pod 'EmptyPage/Standard':

默認提供了3套默認樣式,純文本樣式/純圖片樣式/標(biāo)準樣式(圖片+標(biāo)題+描述+按鈕形式)

  • 并提供了豐富的設(shè)置函數(shù).
  • 并且大部分屬性都是能直接訪問修改.方便個人定制.
  • 使用EmptyPageView接口實現(xiàn):
// 圖片(支持單張與多張) + 標(biāo)題 + 描述 + 一個按鈕 的樣式
let emptyView: EmptyPageView = .standard(images: [UIImage(named: "empty")!],
                  title: "標(biāo)題",
                  text: "描述文本",
                  btnTitle: "按鈕標(biāo)題") {
                  print("按鈕事件")
  }
  
// 設(shè)置
tableView.setEmpty(view: emptyView) // 等價于 tableView.emptyView = emptyView
  • 自定義默認樣式
// 獲取標(biāo)準樣式
let view = EmptyPageView.ContentView.standard
// 自定義配置標(biāo)準樣式
view.configImageView(images: [UIImage(named: "empty-1002")!])
view.titleLabel.text = "Connection failure"
view.button.setTitle("TRY AGAIN", for: .normal)
// 將標(biāo)準樣式條添加至背景View上(提供了約束設(shè)置的功能)
let emptyView: EmptyPageView = .mix(view: view)
// 設(shè)置
tableView.setEmpty(view: emptyView) // 等價于 tableView.emptyView = emptyView
  • 引入pod 'EmptyPage'或者 pod 'EmptyPage/Spec':

    目前是空的,會在后期加入一些更加通用的樣式,提高開發(fā)效率??.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評論 19 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,631評論 4 61
  • 當(dāng)我們處理兼容性問題的時候有兩種策略可以選擇,一種是回退,一種是復(fù)制. 回退是指,應(yīng)用在新系統(tǒng)上用系統(tǒng)的特色功能及...
    張家小2閱讀 837評論 0 3
  • 緣起:我是在跟舒硯說起缺乏時間管理的困惑時,她推薦了葉武濱老師編寫的《善用時間》喜瑪拉雅音頻課給我,后來我生命中的...
    f72130589088閱讀 252評論 0 0
  • 李木頭從九里彎村來到了這個城市蹬黃包車已經(jīng)有半年了。說起黃包車,當(dāng)然已經(jīng)不是駱駝祥子拉的兩輪人力車了。時代在前進,...
    雷永青閱讀 1,992評論 2 7

友情鏈接更多精彩內(nèi)容