表格

 关键字

 @class

 用于声明,写在@interface之前,可以使用的类型

 @interface

 用于接口声明

 使用格式:

 1)在.h中

 @interface。类名:继承的父类类名

 @end

 2)在.m中,写在@implementation之前

 @interface 类名()

 @end

 */

#import

@class Model;//声明此处使用Model类型

@interfaceTableViewCell :UITableViewCell

@property(nonatomic,strong)Model*model;

@end





#import "TableViewCell.h"

#import "Model.h"//引入,允许访问

@interface TableViewCell ()//接口

@property(nonatomic,strong)UIImageView*icon;//头像

@property(nonatomic,strong)UILabel*title;//标题

@property(nonatomic,strong)UILabel*subhead;//副标题

@property(nonatomic,strong)UIButton*play;//播放按钮

@property(nonatomic,strong)UIButton*more;//更多按钮

@end

/*

    重写构造对象方法:

   调用原来的构造方法

 self=[super 构造方法];

 if(self)

 {

//    添加控件

 }

 return self

 */

//重写构造方法


@implementation TableViewCell

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)reuseIdentifier

{

//    调用父类

    self=[superinitWithStyle:stylereuseIdentifier:reuseIdentifier];

    if(self)

    {

        [self  addSubview:self.icon];

        [self addSubview:self.title];

        [self addSubview:self.subhead];

        [self addSubview:self.play];

        [self addSubview:self.more];

    }

    return self;

}

-(UIImageView *)icon

{

    if(!_icon)

    {

        _icon=[[UIImageView alloc]init];

        _icon.image=[UIImage imageNamed:@"EBFDDD9BFC9A303843C1B974EF4F58F6"];

    }

    return _icon;

}

//cell布局

- (void)layoutSubviews

{

    [super layoutSubviews];

//    布局子控件

    CGFloat width=self.frame.size.width;//宽

    CGFloat height=self.frame.size.height;//高

    CGFloatmoreW=30;

    CGFloatmoreH=10;

    CGFloatmoreY=(height-moreH)*0.5;

    CGFloatmoreX=width-moreW-20;

    self.more.frame=CGRectMake(moreX, moreY, moreW, moreH);

    CGFloatplayW=20;

    CGFloatplayH=15;

    CGFloatplayY=(height-playH)*0.5;

    CGFloatplayX=moreX-20-playW;

    self.play.frame=CGRectMake(playX, playY, playW, playH);

    CGFloattitleX=20;

    CGFloattitleY=10;

    CGFloattitleW=playX-20.0-20.0;

    CGFloattitleH=25;

    self.title.frame=CGRectMake(titleX, titleY, titleW, titleH);

    CGFloatsubheadX=50;

    CGFloatsubheadY=45;

    CGFloatsubheadW=playX-20.0-20.0;

    CGFloatsubheadH=20;

    self.subhead.frame=CGRectMake(subheadX, subheadY, subheadW, subheadH);

    CGFloaticonW=20;

    CGFloaticonH=20;

    CGFloaticonY=45;

    CGFloaticonX=20;

    self.icon.frame=CGRectMake(iconX, iconY, iconW, iconH);

}

-(UILabel*)title

{

    if(!_title)

    {

        _title=[[UILabel alloc]init];

    }

    return _title;

}

-(UILabel*)subhead

{

    if (!_subhead)

    {

        _subhead=[[UILabel alloc]init];

    }

    return _subhead;

}

-(UIButton*)play

{

    if(!_play)

    {

        _play=[[UIButton alloc]init];

        [_play setImage:[UIImage imageNamed:@"73D1DFC295DCADBBED5A23DCC3EA70C6"] forState:UIControlStateNormal];

    }

    return _play;

}

-(UIButton*)more

{

    if(!_more)

    {

        _more=[[UIButton alloc]init];

        [_more setImage:[UIImage imageNamed:@"11CE8B5E05E271F118B3552840516492"] forState:UIControlStateNormal];

    }

    return _more;

}

- (void)awakeFromNib {

    [super awakeFromNib];

    // Initialization code

}

-(void)setModel:(Model*)model

{

    _model=model;

    self.title.text=model.title;

    self.subhead.text=model.subhead;

//    self.play.isHidden=!model.isShowPlay;

    if(model.isShowPlay==YES)

    {

        self.play.hidden=NO;//设置play按钮的隐藏属性为NO

    }else

    {

        self.play.hidden=YES;

    }

    self.icon.hidden=!model.isShowIcon;

}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [supersetSelected:selectedanimated:animated];

    // Configure the view for the selected state

}

@end





#import "ViewController.h"

#import "Model.h"

#import "TableViewCell.h"

@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>

@property(nonatomic,strong)UITableView*tableView;

@property(nonatomic,strong)NSMutableArray*dataArray;

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    [self.view addSubview:self.tableView];


//    Model*m0=[[Model alloc]init];

//    m0.name=@"张三";

//    m0.age=@"24";

//    m0.title=@"断电";

//    m0.subhead=@"霍建华/赵丽颖";

//    m0.isShowPlay=YES;

//    m0.isShowIcon=YES;

//    [self.dataArray addObject:m0];

//    Model*m1=[[Model alloc]init];

//    m1.title=@"可不可以不勇敢";

//    m1.subhead=@"范玮琪.真善美";

//    m1.isShowPlay=YES;

//    m1.isShowIcon=NO;

//    [self.dataArray addObject:m1];

//    Model*m2=[[Model alloc]init];

//    m2.title=@"兰花指";

//    m2.subhead=@"金则男.兰花指";

//    m2.isShowPlay=YES;

//    m2.isShowIcon=NO;

//    [self.dataArray addObject:m2];

    [self.tableView registerClass:[TableViewCell class] forCellReuseIdentifier:@"TableViewCellID"];

//    读取数据plist

//    1.获取文件路径

    NSString*plistpath=[[NSBundle mainBundle]pathForResource:@"List" ofType:@"plist"];

//    2.获取数据。文件数据类型是数据

    NSMutableArray*array=[[NSMutableArray alloc]initWithContentsOfFile:plistpath];

    for(inti=0; i

    {

        NSDictionary*dict=array[i];

        Model*m=[[Model alloc]init];

        m.title=dict[@"title"];

        m.subhead=dict[@"subhead"];

//        m.isShowPlay=dict[@"isShowPlay"];

        NSNumber*showPlay=dict[@"isShowPlay"];

        BOOLisShowPlay=[showPlayboolValue];

        m.isShowPlay=isShowPlay;

//        m.isShowIcon=dict[@"isShowIcon"];

        NSNumber*showIcon=dict[@"isShowIcon"];

        BOOLisShowIcon=[showIconboolValue];

        m.isShowIcon=isShowIcon;


        [self.dataArray addObject:m];

    }

//    3.遍历数组元素,构造模型对象,添加到dataArray


//    for (NSDictionary*dict in array)

//    {

////        for循环的for-in

//        Model*model=[[Model alloc]init];

//        model.title=dict[@"title"];

//        model.subhead=dict[@"subhead"];

//        model.isShowIcon=dict[@"isShowIcon"];

//        model.isShowPlay=dict[@"isShowPlay"];

//        [self.dataArray addObject:model];

//    }

}

- (UITableView*)tableView

{

    if (!_tableView)

    {

        _tableView=[[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];

        _tableView.dataSource=self;

        _tableView.delegate=self;

    }

    return _tableView;

}

-(NSMutableArray *)dataArray

{

    if (!_dataArray)

    {

        _dataArray=[NSMutableArray array];

    }

    return _dataArray;

}

-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView

{

    return1;

}

-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section

{

    return self.dataArray.count;

}

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath

{

//    UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@"cellID"];

//    if (!cell)

//    {

//        cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"cellID"];

//    }

//    Model*m=self.dataArray[indexPath.row];

//    cell.textLabel.text=[NSString stringWithFormat:@"姓名:%@,年龄:%@",m.name,m.age];

    TableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@"TableViewCellID" forIndexPath:indexPath];

    Model*m=self.dataArray[indexPath.row];

    cell.model=m;

//    cell.textLabel.text=[NSString stringWithFormat:@"姓名:%@,年龄:%@",m.name,m.age];

    returncell;

}

-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath

{

    return70.0;

}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

@end

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容