博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【UIKit】UITableView 自定义Cell2
阅读量:6406 次
发布时间:2019-06-23

本文共 2383 字,大约阅读时间需要 7 分钟。

【自定义Cell2】【】:全部通过代码添加

【1】:设置Cell

  1):创建一个MsgCell类 继承UITableViewCell

  .h中声明2个属性一个是用户头像,另外一个是发表的文字

 

 

 

@property (nonatomic,weak,readonly) UIImageView *iconView;@property (nonatomic,weak,readonly)UIButton *msgBtn;

  .m中,创建出具体的cell内容

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];    if (self) {             // 添加子控件 1,左边的头像        UIImageView *iconView=[[UIImageView alloc] init];        iconView.frame=CGRectMake(10, 10, 50, 50);        [self addSubview:iconView];        [self.contentView addSubview:iconView];        _iconView=iconView;                // 添加右边的对话按钮        UIButton *btn=[[UIButton alloc]init];        btn.frame=CGRectMake(100, 0, 100, 60);                [btn setBackgroundImage:[UIImage imageNamed:@"chatfrom_bg_normal.png"] forState:UIControlStateNormal];        [btn setBackgroundImage:[UIImage imageNamed:@"chatfrom_bg_focused.png"] forState:        UIControlStateHighlighted];     [self.contentView addSubview:btn];        // 设置文字颜色        [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];        _msgBtn=btn;    }    return self;}

 

创建一个ViewController:UITableViewController

#import "ViewController.h"#import "MsgCell.h"@implementation ViewController- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.   // 去除横线    self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone;  self.tableView.editing = YES;}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    return 20;   // 20个cell}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ // 用static修饰的局部变量,只会初始化一次    static NSString *ID=@"Cell";    // 2.拿到一个标识先去缓存池中查找对应的Cell    MsgCell *cell=[tableView dequeueReusableCellWithIdentifier:ID];    // 3. 如果缓存池中没有,才需要创建新的标识    if(cell==nil)    {        cell=[[MsgCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];    }    cell.iconView.image=[UIImage imageNamed:@"0.png"];    [cell.msgBtn setTitle:@"哈哈哈" forState:UIControlStateNormal];        return  cell;    }-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{    // 每一行的高度自定义    return 70;}@end

 

 

 

转载于:https://www.cnblogs.com/madeininfi/p/3677266.html

你可能感兴趣的文章
网站建设做成伪静态的好处
查看>>
hadoop相关问题
查看>>
jQuery AJAX 请求失败Uncaught ReferenceError: name is not defined
查看>>
百度员工离职总结:如何做个好员工?(严重推荐)(转)
查看>>
I00037 亏数(Deficient number)
查看>>
程序出bug时,你是啥反应?
查看>>
常用工具说明-- Intellij Idea生成JavaDoc
查看>>
IELTS(6)
查看>>
log4j的使用
查看>>
开始独立沟通
查看>>
python(os模块)的简单应用
查看>>
HashMap、TreeMap、LinkedHashMap、hashtable的区别
查看>>
事务实现原则(一) 事务的改变以及JDBC事务的设计
查看>>
java 类加载机制总结
查看>>
SQL Server之连接
查看>>
2018.1.13 区块链论文翻译
查看>>
http://bbs.csdn.net/topics/390412940
查看>>
Zabbix 3.4监控JVM内存的方法
查看>>
深入浅出Node.js (附录B) - 调试Node
查看>>
Mysql存储引擎MyIsAM和InnoDB区别
查看>>