一句代碼顯示無數據界面

  • 實際項目中,最常用到的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

使用起來就是這么這么簡單

gitHub地址 喜歡給個like,支持支持~??

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容