TableView表单管理库
###创建CXTableViewItem
的子类,如CXMessageItem
@interface CXMessageItem : CXTableViewItem
/* title */
@property (nonatomic, copy) NSString *title;
/* content */
@property (nonatomic, copy) NSString *content;
/* height */
@property (nonatomic, assign) CGFloat height;
@end
###创建UITableViewCell
子类,如CXMessageCell
@interface CXMessageCell : UITableViewCell<CXTableViewCellProtocol>
/* title label */
@property (nonatomic, strong) UILabel *titleLabel;
/* content label */
@property (nonatomic, strong) UILabel *contentLabel;
@end
###UITableViewCell
中必须实现一下协议方法:
/* 只调用一次,一般书写布局代码 */
- (void)cellDidLoad;
/* cell高度 */
+ (CGFloat)heightForCellWithItem:(CXTableViewItem *)item;
/* 绑定cell的UI */
- (void)configCellWithItem:(CXTableViewItem *)item;
###UIViewController
中使用方式:
//需要导入头文件
#import <CXTableViewKit/CXTableViewKit.h>
/* TableView用于展示页面UI */
@property (nonatomic, strong) UITableView *tableView;
/* 用于管理组,刷新UI */
@property (nonatomic, strong) CXTableViewManager *manager;
/* 用于管理Items */
@property (nonatomic, strong) CXTableViewSection *section;
###CXTableViewManager
初始化方法:
- (CXTableViewManager *)manager {
if (_manager == nil) {
_manager = [[CXTableViewManager alloc] initWithTableView:self.tableView];
//批量添加组,
[_manager addManagerSections:@[self.section,self.section2]];
//批量注册cell
[_manager registerItems:@[S(CXMessageItem)]];
//vc中需要使用UIScrollViewDelegate代理方法时,进行设置
_manager.managerDelegate = self;
}
return _manager;
}
###CXTableViewSection
初始化方法:
- (CXTableViewSection *)section {
if (_section == nil) {
_section = [CXTableViewSection section];
}
return _section;
}
###CXTableViewManager
功能说明:
初始化方法
- (instancetype)initWithTableView:(UITableView *)tableView;
其他功能api查看CXTableViewManager.h
和CXTableViewManager+Helper.h
###CXTableViewSection
功能说明:
初始化方法
+ (instancetype)section;
其他功能api查看CXTableViewSection.h
###CXTableViewItem
功能说明:
初始化方法
+ (instancetype)item;
其他功能api查看CXTableViewItem.h
注意:所有Item的父类
pod 'CXTableViewKit'
shenchunxing, [email protected]
CXTableViewKit is available under the MIT license. See the LICENSE file for more info.