Files
keyboard/keyBoard/Class/Base/V/BaseTableView.h

62 lines
2.6 KiB
C
Raw Permalink Normal View History

2025-10-29 14:28:57 +08:00
//
// BaseTableView.h
// keyBoard
//
2025-10-29 14:49:35 +08:00
// 通用表格基类:
// - 统一一些默认配置(背景色、分割线、键盘收起等)
// - 可选接入 DZNEmptyDataSet空数据占位视图默认开启按需关闭
// - 通过 __has_include 判断三方库是否存在;即使工程未集成该库也能正常编译
2025-10-29 14:28:57 +08:00
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
2025-10-29 14:49:35 +08:00
typedef void(^KBEmptyAction)(void);
2025-10-29 14:28:57 +08:00
@interface BaseTableView : UITableView
2025-10-29 14:49:35 +08:00
#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;
2025-11-09 21:41:35 +08:00
/// 使用 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;
2025-10-29 14:28:57 +08:00
@end
NS_ASSUME_NONNULL_END