zoukankan      html  css  js  c++  java
  • [ios]纯代码实现UITableViewCell的自定义扩展

    (转)参考:http://blog.sina.com.cn/s/blog_65cbfb2b0101cd60.html

    第一种,

    简单的增加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;

    }

  • 相关阅读:
    ssh远程执行命令
    华为交换机配置命令总结
    dmidecode查看设备硬件信息
    tcpdump高级过滤技巧
    ifconfig 下面的一些字段(errors, dropped, overruns)
    awk 高级技巧
    intel82599在centos6.5下编译安装
    非默认安装目录下mysql数据的导出与导入
    bash中使用mysql中的update命令
    mysql查看修改字符集
  • 原文地址:https://www.cnblogs.com/lyggqm/p/5088526.html
Copyright © 2011-2022 走看看