// // BaseTableView.h // keyBoard // // 通用表格基类: // - 统一一些默认配置(背景色、分割线、键盘收起等) // - 可选接入 DZNEmptyDataSet(空数据占位视图),默认开启,按需关闭 // - 通过 __has_include 判断三方库是否存在;即使工程未集成该库也能正常编译 // #import 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 二选一) /// 注意:调用该方法会自动关闭本类内置的 DZNEmptyDataSet(useEmptyDataSet = 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