- 實際項目中,最常用到的tableView,如果請求數據為空,應該要顯示無數據界面,創建的時候稍微有一點點麻煩,因為要考慮同一文件的其他方法用到,需要用全局引用,而且如果其他地方用到的話一般要自定義一個無數據界面
- 給UIView添加一個分類,使用起來就十分輕松,不用考慮引用問題,哪個view顯示無數據界面,哪個view隱藏就行,有一個不好的地方就是,分類不好管理方法和屬性,因此暫時只提供四個基本方法
/**
自定義無數據顯示界面
@param customView 自定義界面
@param operation 點擊界面操作
*/
- (void)fl_showNoDataCustomView:(UIView *_Nullable)customView operation:(void (^_Nullable)())operation;
/**
顯示默認無數據界面
@param imageName 圖片名
@param text 圖片下方提示文字
@param operation 點擊圖片操作
*/
- (void)fl_showNoDataView:(NSString *_Nullable)imageName text:(NSString *_Nullable)text operation:(void (^_Nullable)())operation;
/**
顯示默認無數據界面,內置默認值,可在m文件中修改
@param operation 點擊圖片操作
*/
- (void)fl_showNoDataViewOperation:(void (^_Nullable)())operation;
/**
隱藏無數據界面
*/
- (void)fl_hideNoDataView;
- 總結:
- 使用注意點:
- 注意block強引用問題
- 顯示另一個無數據界面前必須fl_hideNoDataView當前的無數據界面
- 為了方便管理無數據界面,可以創建自定義的無數據界面,利用這個分類去顯示或隱藏,使用起來就十分方便快捷啦
__weak typeof(self) weakSelf = self;
[self.view fl_showNoDataViewOperation:^{
NSLog(@"hello world");
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[weakSelf.view fl_hideNoDataView];
});
}];
-
效果圖
noDataView.gif
使用起來就是這么這么簡單