自定义不等高的cell(纯代码frame)
来源:互联网 发布:java学生信息管理系统 编辑:程序博客网 时间:2024/05/22 00:52
自定义不等高的cell(纯代码frame)
标签(空格分隔): ios基础
给模型增加frame数据
- 所有子控件的frame
- cell的高度
@interface JLStatus : NSObject/**** 文字\图片数据 ****/// ...../**** frame数据 ****//** 头像的frame */@property (nonatomic, assign) CGRect iconFrame;// ...../** cell的高度 */@property (nonatomic, assign) CGFloat cellHeight;@end
- 重写模型cellHeight属性的get方法
- (CGFloat)cellHeight{ if (_cellHeight == 0) { // ... 计算所有子控件的frame、cell的高度 } return _cellHeight;}
在控制器中
- 实现一个返回cell高度的代理方法
- 在这个方法中返回indexPath位置对应cell的高度
/** * 返回每一行cell的具体高度 */- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ JLStatus *status = self.statuses[indexPath.row]; return status.cellHeight;}
- 给cell传递模型数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *ID = @"tg"; // 访问缓存池 JLStatusCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; // 设置数据(传递模型数据) cell.status = self.statuses[indexPath.row]; return cell;}
新建一个继承自UITableViewCell
的子类,比如JLStatusCell
@interface JLStatusCell : UITableViewCell@end
在JLStatusCell.m文件中
- 重写
-initWithStyle:reuseIdentifier:
方法- 在这个方法中添加所有需要显示的子控件
- 给子控件做一些初始化设置(设置字体、文字颜色等)
/** * 在这个方法中添加所有的子控件 */- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { // ...... } return self;}
在JLStatusCell.h文件中提供一个模型属性,比如JLTg模型
@class JLStatus;@interface JLStatusCell : UITableViewCell/** 团购模型数据 */@property (nonatomic, strong) JLStatus *status;@end
在JLTgCell.m中重写模型属性的set方法
- 在set方法中给子控件设置模型数据
- (void)setStatus:(JLStatus *)status{ _status = status; // .......}
重写-layoutSubviews
方法
- 一定要调用
[super layoutSubviews]
- 在这个方法中设置所有子控件的frame
/** * 在这个方法中设置所有子控件的frame */- (void)layoutSubviews{ [super layoutSubviews]; // ......}
0 0
- 自定义不等高的cell(纯代码frame)
- 自定义不等高cell的纯代码步骤(frame)
- UI基础-UITableView之自定义不等高cell(纯代码)
- 纯代码计算不等高cell
- 自定义不等高的cell
- 自定义不等高的cell
- UI 一一 自定义等高cell (纯代码-Frame)方式
- UI 一一 自定义不等高cell (Frame方式)
- 自定义等高的cell(纯代码)
- 自定义不等高cell的storyboard方法
- iOS 自定义不等高的cell
- 自定义等高的cell(代码创建frame)
- 自定义等高cell和不等高cell的方式对比
- 纯代码自定义cell的过程
- 纯代码实现自定义UITableView的cell
- 自定义cell的frame
- cell的自定义frame
- UI 一一 自定义等高cell (纯代码-Autolayout)方式
- 基础知识 -- 问答
- 关于 Swift 2.0 - 语言新特性与革新
- pixhawk学习笔记---创建新的应用程序
- Spring 从零开始-01
- Android四大组件之Activity(一)
- 自定义不等高的cell(纯代码frame)
- 哈夫曼编码
- 自定义等高的cell(纯代码)
- 电子书makefile文件分析之all的用法
- java方法的遗留问题:
- 自定义等高的cell(使用stroyboard)
- 数理统计相关概念
- 黑马程序员——单例设计模式
- 黑马程序员---其他对象