【iOS 0 行程式碼系列】之 0 行程式碼實現TableView,CollectionView無資料佔位圖與文字
如果你還沒有看過下面的文章,可以花點時間看看
>>>>>1.一行程式碼完成“空TableView佔位檢視”管理:
原理:
1.獲取 Section 的數量
2.獲取每一個 Section 當中 Cell 的數量
>>>>>2.UITableView沒資料時使用者提示如何做?
原理:
基於 [dataSource count];
一行程式碼實現
>>>>>3.iOS 0行程式碼實現 TableView 無資料時展示佔位檢視
原理:
1.獲取 Section 的數量
2.獲取每一個 Section 當中 Cell 的數量
進入正題:
1.原理
UITableView有一個屬性:
@property (nonatomic, readonly) NSArray<__kindof UITableViewCell *> *visibleCells;
UICollectionView有同樣的一個屬性:
@property (nonatomic, readonly) NSArray<__kindof UICollectionViewCell *> *visibleCells;
可以根據 reload 之後,可見 Cell 的數量來判斷,列表是否為空。
2.遇到的問題
collectionView 在 reload 之後 self.visibleCells.count 是 0
經查詢,需要先呼叫 [self layoutIfNeeded]; 才行
參考:
3.通過實現代理方法來定製圖片與文字,以及代理返回的 emptyView 進行更多定製
>>>>> collectionView 的代理方法
@protocol JHNoDataUICollectionViewDelegate <NSObject>
@optional
/// offer a image to show some infomation for user.
- (UIImageView *)imageViewForCollectionViewWhenDataSourceIsEmpty;
/// offer a label to show some infomation for user.
- (UILabel *)labelForCollectionViewWhenDataSourceIsEmpty;
/// the empty view that add to tableView.
- (void)emptyViewForCollectionViewWhenDataSourceIsEmpty:(UIView *)emptyView;
@end
>>>>> tableView 的代理方法
@protocol JHNoDataUITableViewDelegate <NSObject>
@optional
/// offer a image to show some infomation for user.
- (UIImageView *)imageViewForTableViewWhenDataSourceIsEmpty;
/// offer a label to show some infomation for user.
- (UILabel *)labelForTableViewWhenDataSourceIsEmpty;
/// the empty view that add to tableView.
- (void)emptyViewForTableViewWhenDataSourceIsEmpty:(UIView *)emptyView;
@end
地址:
相關推薦
【iOS 0 行程式碼系列】之 0 行程式碼實現TableView,CollectionView無資料佔位圖與文字
如果你還沒有看過下面的文章,可以花點時間看看 >>>>>1.一行程式碼完成“空TableView佔位檢視”管理: 原理: 1.獲取 Section 的數量 2.
【Python面試必看系列】之手撕程式碼
明天有個筆試,有可能會現場手撕程式碼,所以現在先提前準備幾個常見的程式設計題練練手 一、氣泡排序 lis=[1,8,0,5,6,3,7,4,2] temp=[] for i in range(0,len(lis)): for j in range(i+1,len(lis)
【Windows10 IoT開發系列】Powershell命令行實用程序
啟動應用 solution 人員 sina rac oot 表示 art 顯示 原文:【Windows10 IoT開發系列】Powershell命令行實用程序 更新帳戶密碼: 強烈建議你更新默認的管理員帳戶密碼。若要更新帳戶密碼,你可以發出以
【Python面試必看系列】之怎麼移除一個字串中的前導空格?
Q 20. 怎麼移除一個字串中的前導空格? 字串中的前導空格就是出現在字串中第一個非空格字元前的空格。我們使用方法 Istrip() 可以將它從字串中移除。 >>> ' Ayushi '.lstrip() 結果: ‘Ayushi ‘ 可以看到
【Python面試必看系列】之Python 區分大小寫嗎?
Q 18. Python 區分大小寫嗎? 如果能區分像 myname 和 Myname 這樣的識別符號,那麼它就是區分大小寫的。也就是說它很在乎大寫和小寫。我們可以用 Python 試一試: >>> myname="hupo" >>> Myna
【Python面試必看系列】之解釋 Python 中的 join() 和 split() 函式
Q 17. 解釋 Python 中的 join() 和 split() 函式 Join()能讓我們將指定字元新增至字串中。 >>> ','.join('12345') 輸出: ‘1,2,3,4,5’ Split() 能讓我們用指定字元分割字串。
【Python面試必看系列】之如何以就地操作方式打亂一個列表的元素
Q 16. 如何以就地操作方式打亂一個列表的元素? 為了達到這個目的,我們從 random 模組中匯入 shuffle() 函式。 >>> from random import shuffle >>> mylist=[x for x in ra
【Python面試必看系列】之什麼是負索引
Q 15. 什麼是負索引? 先建立一個列表: lis=[1,2,3,4,5] 使用正索引取出列表中的第一個數: lis[0] 輸出: 1 負索引和正索引不同,它是從右邊開始檢索。例如:使用負索引取出列表的最後一個數 lis[-1] 輸出: 5
【Python面試必看系列】之計算一個檔案中的大寫字母數量
Q 14. 請寫一個 Python 邏輯,計算一個檔案中的大寫字母數量 首先在程式所在資料夾下面新建一個test.txt檔案,裡面寫入一些大小寫字母,然後執行下面的程式即可: with open('test.txt') as test: count = 0 fo
【Python面試必看系列】之請解釋使用 *args 和 **kwargs 的含義
Q 13. 請解釋使用 *args 和 **kwargs 的含義 當不知道向函式傳遞多少引數時,比如我們向函式傳遞一個列表或元組,我們就使用 * args。 >>> def func(*args): for i in args: prin
【Python面試必看系列】之Python 中的字典是什麼?
Q 12. Python 中的字典是什麼? 字典是 C++ 和 Java 等程式語言中所沒有的東西,它具有鍵值對。 >>> roots={25:5,16:4,9:3,4:2,1:1} >>> type(roots) <class 'dic
【Python面試必看系列】之當退出 Python 時,是否釋放全部記憶體?
Q 10. 當退出 Python 時,是否釋放全部記憶體? 答案是 No。迴圈引用其它物件或引用自全域性名稱空間的物件的模組,在 Python 退出時並非完全釋放。 另外,也不會釋放 C 庫保留的記
【Python面試必看系列】之Python 中的識別符號長度能有多長?
Q 19. Python 中的識別符號長度能有多長? 在 Python 中,識別符號可以是任意長度。此外,我們在命名識別符號時還必須遵守以下規則: 只能以下劃線或者 A-Z/a-z 中的
【Dubbo源碼閱讀系列】之遠程服務調用(上)
res 簡單的 eric 執行流程 交互 windbg 模式 face voc 今天打算來講一講 Dubbo 服務遠程調用。筆者在開始看 Dubbo 遠程服務相關源碼的時候,看的有點迷糊。後來慢慢明白 Dubbo 遠程服務的調用的本質就是動態代理模式的一種實現。本地消費者無
【CNMP系列】CentOS7.0下安裝Nginx服務
系統資源 for proxy input strong network emc -c .com 話步前言,CNMP之路,系統起步:http://www.cnblogs.com/riverdubu/p/6425028.html 這回我來講解下CentOS7.0下如何安裝和配置
【轉載】【Pycharm編輯器破解步驟】之idea和Pycharm 等系列產品激活激活方法和激活碼
ipc 有效 路徑 FQ wsh sim 圖片 放置 faq 感謝:雪中皓月的《idea和Pycharm 等系列產品激活激活方法和激活碼》 第一種方法:使用現有的註冊服務器 優點:快捷,方便,省事 缺點:經常被封殺,可能會面臨經常激活的困擾 License Server:
【Mac + Python3.6 + facebook-wda】之IOS自動化(二):安裝facebook-wda庫並編寫簡易自動化測試腳本
以及 應用 hot cit you ins dfa 查看端口 介紹 上一篇介紹完如何安裝WDA,接下來開始正式安裝開發庫並編寫自動化腳本。 目錄: 一、安裝facebook-wda庫 二、通過WEditor定位元素 三、附錄:學習資料
【程式碼審計】eduaskcms_v1.0.7前臺儲存型XSS漏洞分析
0x00 環境準備 eduaskcms官網:https://www.eduaskcms.xin 網站原始碼版本:eduaskcms-1.0.7 程式原始碼下載:https://www.eduaskcms.xin/download/show/5.html 預設後臺地址:http://12
【程式碼審計】YUNUCMS_v1.0.6 前臺反射型XSS跨站指令碼漏洞分析
0x00 環境準備 QYKCMS官網:http://www.yunucms.com 網站原始碼版本:YUNUCMSv1.0.6 程式原始碼下載:http://www.yunucms.com/Download/index.html 測試網站首頁: 0x01 程式碼分析
【程式碼審計】YUNUCMS_v1.0.6 後臺程式碼執行漏洞分析
0x00 環境準備 QYKCMS官網:http://www.yunucms.com 網站原始碼版本:YUNUCMSv1.0.6 程式原始碼下載:http://www.yunucms.com/Download/index.html 測試網站首頁: 0x01 程式碼分析