Files
keyboard/keyBoard/Class/Base/V/BaseTableView.h
2025-11-09 21:41:35 +08:00

62 lines
2.6 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// BaseTableView.h
// keyBoard
//
// 通用表格基类:
// - 统一一些默认配置(背景色、分割线、键盘收起等)
// - 可选接入 DZNEmptyDataSet空数据占位视图默认开启按需关闭
// - 通过 __has_include 判断三方库是否存在;即使工程未集成该库也能正常编译
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
typedef void(^KBEmptyAction)(void);
@interface BaseTableView : UITableView
#pragma mark - 空数据占位DZNEmptyDataSet可开关
/// 是否启用空数据占位(默认 YES。若工程未集成 DZNEmptyDataSet此开关不生效但不会影响编译。
@property (nonatomic, assign) BOOL useEmptyDataSet;
/// 标题(默认:"暂无数据"
@property (nonatomic, copy, nullable) NSString *emptyTitleText;
/// 描述(可选)
@property (nonatomic, copy, nullable) NSString *emptyDescriptionText;
/// 占位图(可选)
@property (nonatomic, strong, nullable) UIImage *emptyImage;
/// 按钮标题(可选)
@property (nonatomic, copy, nullable) NSString *emptyButtonTitle;
/// 垂直偏移(默认 0
@property (nonatomic, assign) CGFloat emptyVerticalOffset;
/// 空视图是否允许滚动(默认 YES
@property (nonatomic, assign) BOOL emptyShouldAllowScroll;
/// 点击整体视图回调(可选)
@property (nonatomic, copy, nullable) KBEmptyAction emptyDidTapView;
/// 点击按钮回调(可选)
@property (nonatomic, copy, nullable) KBEmptyAction emptyDidTapButton;
/// 触发刷新空数据视图(若集成了 DZNEmptyDataSet 则调用其 reloadEmptyDataSet
- (void)kb_reloadEmptyDataSet;
/// 使用 LYEmptyView 在表格页快速挂载一套统一样式的空态视图(与 DZNEmptyDataSet 二选一)
/// 注意:调用该方法会自动关闭本类内置的 DZNEmptyDataSetuseEmptyDataSet = NO避免冲突。
/// - Parameters:
/// - image: 占位图(可空)
/// - title: 标题(默认“暂无数据”)
/// - detail: 描述(可空)
/// - buttonTitle: 按钮标题(可空,传空则不展示按钮)
/// - tapHandler: 点击空白区域回调(可空)
/// - buttonHandler: 按钮点击回调(可空)
- (void)kb_makeDefaultEmptyViewWithImage:(nullable UIImage *)image
title:(nullable NSString *)title
detail:(nullable NSString *)detail
buttonTitle:(nullable NSString *)buttonTitle
tapHandler:(nullable KBEmptyAction)tapHandler
buttonHandler:(nullable KBEmptyAction)buttonHandler;
@end
NS_ASSUME_NONNULL_END