• 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;

    }

  • 相关阅读:
    如何完全禁用或卸载Windows 10中的OneDrive
    ASP.NET Web API从注释生成帮助文档
    c#中使用easyUI的DataGrid组件
    第三方分页控件aspnetPager出现问题解决方法
    ActionResult派生类
    Razor引擎的转换数据类型
    ViewData与ViewBag比较
    .net开源后可以查看的源代码
    如何让一个类可以被foreach枚举?
    .NET Framework中Object基类有哪些方法?
  • 原文地址:https://www.cnblogs.com/wxd3652/p/4939043.html
Copyright © 2020-2023  润新知