自定义cell 3中方式

自定cell的三种方式。


(1)

uitableviewcell的子类自定义cell

1.新建一个类承自uitableviewcell。

2。初始化方法中添加自己的控件

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

{

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self)

    {

        self.menuImageView = [[UIImageView allocinitWithFrame:CGRectMake(0037100)];

        [self addSubview:_menuImageView];

        [_menuImageView release];

    }

    return self;

}

3。使用

static NSString *cellIdenifer = @"MenuTableViewCellInDentifer";

    

    LPMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdenifer];

    

    if (!cell) 

    {

        cell = [[[LPMenuTableViewCell allocinitWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdenifer] autorelease];

        

    }



(2)

在tableview的代理方法中自定cell


static NSString *cellIdenifer = @"MenuTableViewCellInDentifer";

    

    LPMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdenifer];

    

    if (!cell) 

    {

        cell = [[[LPMenuTableViewCell allocinitWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdenifer] autorelease];


UILabel *aaa = [[UILabel alloc] init]

[cell addsubview:aaa];

aaa.tag = 111;

        

    }


UILabel *label = [cell viewWithTag:111];




(3)


xib自定cell

1.新建一个类承自uitableviewcell。

2.新建一个空的xib.

3.在xib中拖拽一个uitableviewcell,然后置一下他的大小

4.更改才拖拽的uitableviewcell的类型 第一步中新建的类的类型。

5.置uitableviewcell的idenifier一个固定字符串,个字符串要跟tableview的数据源中定字符串吻合

static NSString *cellIdenifer = @"MenuTableViewCellInDentifer";应该跟xib中cell置的吻合)

    

    LPMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdenifer];

6.在xib的cell中添加自定的控件

7.在自定义的cell类中声明属性,供以后使用

8.连接xib中的控件和类中的属性,关联的时候不是关联到xib的file's owner上,而是uitableviewcell本身。

9.使用 

static NSString *cellIdenifer = @"DishesTableViewCellInDentifer";应该跟xib中cell置的idenifier吻合)

    

   (自定的cell类) LPDishTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdenifer];

        

    if (!cell) 

    {

        NSArray *nib = [[NSBundle mainBundleloadNibNamed:@"LPDishTableViewCell" owner:nil options:nil];(此为刚才新建的xib的名字)

        

        for (id oneObject in nib) 

        {

            if ([oneObject isKindOfClass:[LPDishTableViewCell class]]) 

            {

                cell = (LPDishTableViewCell *)oneObject;

            }

        }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值