zoukankan      html  css  js  c++  java
  • 自定义UITableViewCell

    介绍两种方法

    第一种,

    简单的增加UITableViewCell一些小功能

    例如在cell上面添加一个UILabel。

    直接在UITableViewCell的生成方法中实现,代码如下

    - (UITableViewCell *)tableView:(UITableView *)tableView

    cellForRowAtIndexPath:(NSIndexPath *)indexPath

    {

    static NSString *identifier = @"cell";

    UITableViewCell  *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

    if (cell == nil) {

    cell = [[[UITableViewCell  alloc]initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:identifier] autorelease];

    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(190, 0, 130, cell.frame.size.height)];

    label1.tag = 1;

    [cell.contentView addSubview:label3];

    [label3 release];

    }

    UILabel *label3 = (UILabel *)[cell.contentView viewWithTag:1];

    label1.text = @"44444";

    return cell;

    }

    第二种,较为正规的写法。

    新建一个自定义的继承UITableViewCell的类如NewCell。

    在NewCell中增加两个UILabel的属性

    代码如下

    //NewCell.h

    #import

    @interface NewCell : UITableViewCell

    {

    UILabel *_label1;

    UILabel *_label2;

    }

    - (void)setLabel1Text:(NSString *)text1

      label2Text:(NSString *)text2;

    @end

    //NewCell.m

    #import "NewCell.h"

    @implementation NewCell

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

    {

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

        if (self) {

    _label1 = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 160,self.frame.size.height)];

    _label1.text = @"111111111";

    [self.contentView addSubview:_label1];

    _label2 = [[UILabel alloc] initWithFrame:CGRectMake(160, 0, 160,self.frame.size.height)];

    _label2.text = @"111111111";

    [self.contentView addSubview:_label2];

        }

        return self;

    }

    - (void)setLabel1Text:(NSString *)text1

      label2Text:(NSString *)text2

    {

    _label1.text = text1;

    _label2.text = text2;

    }

    - (void)dealloc

    {

    [_label1 release];

    [_label2 release];

    [super dealloc];

    }

    @end

    //UITableViewCell的生成方法

    - (UITableViewCell *)tableView:(UITableView *)tableView

    cellForRowAtIndexPath:(NSIndexPath *)indexPath

    {

    static NSString *identifier = @"cell";

    NewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

    if (cell == nil) {

    cell = [[[NewCell alloc]initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:identifier] autorelease];

    }

    [cell setLabel1Text:@"222222222" label2Text:@"333333333"];

    return cell;

    }

  • 相关阅读:
    获得CCNA和CCNP及CCIE认证的必备条件和有效期绍
    Js6利用class创建类
    Js6利用class创建类
    权益证明机制 (PoS):权益决定验证权,谁更有钱谁发言
    关于共识机制的一些想法
    有向无环图 (DAG) 技术:超越区块链的分布式账本
    寻找一种易于理解的一致性算法(扩展版)
    如何使用python语言中的方法对列表进行增删改操作
    如何操作python语言中的元素并计算相应的属性
    如何操作python语言中的列表并获取对应的元素
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/4565922.html
Copyright © 2011-2022 走看看