搭建自定义cell-给自定义cell赋值的思路

1 主控制器

1.1导入头文件

#import "LHQInvestmentManagementCell.h"

#import "LHQInvestmentManagementModel.h"

1.2遵守tableview的协议  数据源方法的协议

1.3声明全局的可变数组并且懒加载

1.4在viewDidload方法里加载xib  调用创建数据的方法

1.5写一个方法创建数据

循环给每一个cell里面的数据数组赋值

初始化LHQInvestmentManagementModel类

定义一个字典用来存放数据分别给每个Key对应

然后用字典来给model中每个属性赋值

[model setValuesForKeysWithDictionary:dic];

把赋值好的model加到定义好的 可变数组中

[self.dataArr addObject:model];

[self.tableView reloadData];

1.6  tableview的数据源方法

返回几组

返回几行

每一行显示的内容:

初始化

LHQInvestmentManagementCell

初始化model,并且用数组中的每一组数据给model赋值

将初始化好的model传到LHQInvestmentManagementCell中的customedWithModel这个方法中

设置每一行的高度

//借款状态对照码

+ (NSString *)loanStatusWithCode:(NSInteger)statusCode

{

NSString *loanStatusStr = nil;

switch (statusCode) {

case 0:{

loanStatusStr = @"审核中";

}

break;

case 1:{

loanStatusStr = @"提前借款";

}

break;

case 2:{

loanStatusStr = @"筹款中";

}

break;

case 3:{

loanStatusStr = @"待放款";

}

break;

case 4:{

loanStatusStr = @"还款中";

}

break;

case 5:{

loanStatusStr = @"已还款";

}

break;

case 10:{

loanStatusStr = @"审核中待验证";

}

break;

case 11:{

loanStatusStr = @"提前借款待验证";

}

break;

case 14:{

loanStatusStr = @"本金垫付还款中";

}

break;

case -10:{

loanStatusStr = @"未验证";

}

break;

case -100:{

loanStatusStr = @"资金托管提交中";

}

break;

case -5:{

loanStatusStr = @"撤销";

}

break;

case -4:{

loanStatusStr = @"流标";

}

break;

case -3:{

loanStatusStr = @"放款不通过";

}

break;

case -2:{

loanStatusStr = @"审核不通过";

}

break;

case -1:{

loanStatusStr = @"审核不通过";

}

break;

default:{

loanStatusStr = [NSString stringWithFormat:@"%zd",statusCode];

}

break;

}

return loanStatusStr;

}


2 创建LHQInvestmentManagementModel类,继承自NSObjc

//定义以下的属性

//1 图标

@property(nonatomic)NSString *stutes;

//2 大标题

@property(nonatomic)NSString *title;

//3 标的状态

@property(nonatomic)NSString *bidStutes;

//4 总额

@property(nonatomic)NSString *assets;

//5 我的投资额

@property(nonatomic)NSString *invest;

//6 待收金额

@property(nonatomic)NSString *lastone;



3 创建LHQInvestmentManagementCell类

继承自UITableViewCell

3.1 声明一个方法

-(void)customedWithModel:(LHQInvestmentManagementModel *)model;

3.2将xib中每一个控件拖出来

3.3 实现声明的-(void)customedWithModel:(LHQInvestmentManagementModel *)model方法

//1 标识图片

self.IdentificationImage.image = [UIImage imageNamed:model.stutes];

//2 大标题

self.MainTitleLabel.text = model.title;

//3 标的状态

self.TargetStateLabel.text = model.bidStutes;

self.TargetStateLabel.backgroundColor = [UIColor colorWithRed:26/255.0 green:199/255.0 blue:62/255.0 alpha:1.0];

//

self.TargetStateLabel.layer.masksToBounds = YES;

self.TargetStateLabel.layer.cornerRadius = 6;

//4 总额

self.TotalLabel.text = model.assets;

//5 我的投资额

self.MyInvestmentAmountLabel.text = model.invest;

//6 待收总额

self.TotalAmountToBeCollected.text = model.lastone;



总结:

model中声明属性,在cell中将每一个属性脱线,并且写一个方法,用model中属性赋值

同时来到控制器中给model设置数据   MVC

给自定义cell赋值的更多相关文章

  1. 给自定义cell赋值代码

    // //  ViewController.m //  11 - 投资管理 - 李洪强 // //  Created by vic fan on 16/4/8. //  Copyright © 201 ...

  2. 李洪强iOS开发之自定义cell的使用

    第一步: 创建自定义cell类,继承自UItableVIewcell 第二步: 在sb中布局自己需要的视图控件并且将此cell与我刚刚创建的cell类进行关联.并且连线  第三步: 创建modle类, ...

  3. 自定义cell

    思路就是创建模型,自定义cell,然后在主控制器中完成,首先要观察plist文件: Contact.h #import <Foundation/Foundation.h> @interfa ...

  4. 懒加载 字典转模型 自定义cell

    1 懒加载: 1>  什么是懒加载? 懒加载又称为延时加载,即在系统调用的时候加载,如果系统不调用则不会加载.所谓的懒加载其实就是重写其 get 方法. 2>  特点:在使用懒加载的时候要 ...

  5. UI学习笔记---第十一天UITableView表视图高级-自定义cell

    自定义cell,多类型cell混合使用,cell自适应高度 自定义cell就是创建一个UITableViewCell的子类 把cell上的空间创建都封装在子类中,简化viewController中的代 ...

  6. iOS学习之UI自定义cell

    一.自定义Cell 为什么需要自定义cell:系统提供的cell满足不了复杂的样式,因此:自定义Cell和自定义视图一样,自己创建一种符合我们需求的Cell并使用这个Cell.如下图所示的这些Cell ...

  7. UITabelView 高级(自定义Cell)

    自定义一个Cell 当我们要显示复杂数据的时候,例如要做一个扣扣聊天界面,或是新闻列表,系统的行已经不能满足我们的要求,这个时候我们可以通过自定义这个行,让他显示更多复杂结构的样式. 自定义cell就 ...

  8. 08-UIKit(UITableTableViewCell、自定义Cell、xcode调试)

    目录: 1. UITableTableViewCell 2. tag技术 3. 自定义Cell 4. 用nib文件构造自定义的静态表 5. TableView数据模型总结 6. Xcode代码调试 & ...

  9. IOS开发中UITableView(表视图)的滚动优化及自定义Cell

    IOS开发中UITableView(表视图)的滚动优化及自定义Cell IOS 开发中UITableView是非常常用的一个控件,我们平时在手机上看到的联系人列表,微信好友列表等都是通过UITable ...

随机推荐

  1. hdu 4049 2011北京赛区网络赛J 状压dp ***

    cl少用在for循环里 #include<cstdio> #include<iostream> #include<algorithm> #include<cs ...

  2. WebRTC之带宽控制部分学习(1) ------基本demo的介绍

    转自:http://blog.csdn.net/u013160228/article/details/46392037 WebRTC的代码真是非常之大啊,下载以及编译了我好几天才搞完..... 可以看 ...

  3. 时间编程,王明学learn

    时间编程 一.时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT) Calend ...

  4. Handler(消息机制)

    Demo演示 //通过Handler事件倒计时的一个操作,并判断状态 public class MainActivity extends AppCompatActivity {private Text ...

  5. asp中 grideview 更新 无法获取值 解决办法

    string str1 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString().Trim(); 来 ...

  6. SPOJ PHRASES 后缀数组

    题目链接:http://www.spoj.com/problems/PHRASES/en/ 题意:给定n个字符串,求一个最长的子串至少在每个串中的不重叠出现次数都不小于2.输出满足条件的最长子串长度 ...

  7. DSP using MATLAB 示例 Example3.12

    用到的性质 代码: n = -5:10; x = sin(pi*n/2); k = -100:100; w = (pi/100)*k; % freqency between -pi and +pi , ...

  8. node.js整理 03文件操作-遍历目录和文本编码

    遍历目录 递归算法 遍历目录时一般使用递归算法,否则就难以编写出简洁的代码. 递归算法与数学归纳法类似,通过不断缩小问题的规模来解决问题 function factorial(n) { if (n = ...

  9. XAML数据绑定(Data Binding)

    XAML数据绑定(Data Binding)   Data Binding可以使得XAML标签属性的赋值更为灵活和方便.在绑定过程中,获取数据的标签成为目标标签:提供数据的标签成为源标签.在XAML中 ...

  10. js动画实现透明度动画

    在本次实例中,由于一般主流的浏览器对于透明度opacity最大值为1,但是在IE6最大值是100,此次例子是按主流浏览器的透明度来算的,所以定义的是小数,也可以定义为整数为单位,在运算的时候遇到主流的 ...