2 yue1liang1chuan yue1liang1chuan 于 2013.02.22 15:46 提问

iphone-关于避免内容覆盖

怎么在UItableView的单元中避免内容覆盖?

//在表中显示内容

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
     [tableView deselectRowAtIndexPath:indexPath animated:NO];
    static NSString *CellIdentifier = @"Cell";      
    UITableViewCell *cell = [tableView       dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle=UITableViewCellSelectionStyleNone;
    }

    UIImage  *ibnLogo = [[UIImage imageNamed:@"IBN.jpeg"]autorelease];

    News *news= [[xmlParser newsArray] objectAtIndex:indexPath.row];

    CGRect imageFrame = CGRectMake(2, 8, 40, 40);
    self.customImage = [[[UIImageView alloc] initWithFrame:imageFrame] autorelease];
    self.customImage.image = ibnLogo;
    [cell.contentView addSubview:self.customImage];

    CGRect contentFrame = CGRectMake(45, 2, 265, 30);
    UILabel *contentLabel = [[[UILabel alloc] initWithFrame:contentFrame] autorelease];
    contentLabel.numberOfLines = 2;
    contentLabel.font = [UIFont italicSystemFontOfSize:12];
    contentLabel.text = [news content];
    [cell.contentView addSubview:contentLabel];

    CGRect dateFrame = CGRectMake(45, 40, 265, 10);
    UILabel *dateLabel = [[[UILabel alloc] initWithFrame:dateFrame] autorelease];
    dateLabel.font = [UIFont systemFontOfSize:10];
    dateLabel.text = [news dateCreated];
    [cell.contentView addSubview:dateLabel];    
    return cell;
}

1个回答

redCoral_
redCoral_   2013.02.22 16:27
已采纳
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    {
         [tableView deselectRowAtIndexPath:indexPath animated:NO];
        static NSString *CellIdentifier = @"Cell";      
        UITableViewCell *cell = [tableView       dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
            cell.selectionStyle=UITableViewCellSelectionStyleNone;

             UIImage  *ibnLogo = [[UIImage imageNamed:@"IBN.jpeg"]autorelease];

        News *news= [[xmlParser newsArray] objectAtIndex:indexPath.row];

        CGRect imageFrame = CGRectMake(2, 8, 40, 40);
        self.customImage = [[[UIImageView alloc] initWithFrame:imageFrame] autorelease];
        self.customImage.image = ibnLogo;
        [cell.contentView addSubview:self.customImage];

        CGRect contentFrame = CGRectMake(45, 2, 265, 30);
        UILabel *contentLabel = [[[UILabel alloc] initWithFrame:contentFrame] autorelease];
        contentLabel.numberOfLines = 2;
        contentLabel.font = [UIFont italicSystemFontOfSize:12];
        contentLabel.text = [news content];
        [cell.contentView addSubview:contentLabel];

        CGRect dateFrame = CGRectMake(45, 40, 265, 10);
        UILabel *dateLabel = [[[UILabel alloc] initWithFrame:dateFrame] autorelease];
        dateLabel.font = [UIFont systemFontOfSize:10];
        dateLabel.text = [news dateCreated];
        [cell.contentView addSubview:dateLabel];

        }

        return cell;
    }

将所有的元素添加到if (cell == nil)条件中

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android Toast 封装,避免Toast消息覆盖,替换系统Toast最好用的封装
Android Toast 封装,避免Toast消息覆盖,无阻塞,等强大功能 import android.content.Context; import android.os.Handler; import android.os.Looper; import android.widget.Toast; /** * Toast工具类 * @author WikerYong
CSS样式覆盖规则心得
在练习一个网页实战的时候,遇到个很奇怪的问题,经过网上查阅资料才知道 原来是不了解css样式覆盖规则 导致犯了一个低级又不容易发现的错误 一下是解决过程简介: 有两个文件 ①index.html(正确模板)            ②indextest.html(自己练习) 首先 正确模板如下图所示: 源码:index.html          blog homep
关于SqL Server Excel 导入数据库 (或DataTable/DataGridView)避免数据插入重复语句
第二次发博客发现喜欢上了这种记录的感觉好了 进入正题:大体思路如下--判断此表是否存在,存在则输出存在--不存在则创建此表--判断此表中数据是否存在,存在不插入/删除    接下来代码:--判断此表是否存在,存在则输出存在if  exists(select * from sysobjects where name = '周绩效打分月度汇总')print '存在'--不存在则创建此表if not e...
makefile目标覆盖
读到一篇文章"内核映像的形成——寻找第一个目标",作者在行文中提到了makefile目标覆盖,内容如下: "好了,我们跳过若干行变量定义,看到105行,我们的故事开始了: 105 # That's our default target when none is given on the command line  106 PHONY := _all  107 _all:   看到105
wav音频格式.doc
关于声音视频的,很好的总结关于wav音频的内容覆盖
FileWriter不覆盖
/* 演示对已有文件进行读写: */ import java.io.*; class FileWriteDemo2 { public static void main(String[] args) { FileWriter fw = null; try { // 传递一个true,代表不覆盖原有内容。 fw = new FileWriter("Demo.txt"
防止多人操作更新冲突覆盖
当有2个人在管理员后台对同一条信息进行修改的时候,第一个人先确认接着第二个人再确认 那么第一个人弄了N久的东西就被覆盖了,有木有。。。 解决办法:  在表中加一个字段,字段类型 timestamp (时间戳) 不清楚时间戳的请去看sql server联机丛书 本人对时间戳理解的也很浅,就是知道当数据进行更新后时间戳会自动+1 所以我们可以根据时间戳来判断是否更新冲突。 当第一个人修
dropdownlist数据绑定避免第一项被覆盖
使用ddl.Items.FindByText("字符串").Selected=true;
strcpy()和memcpy()函数中忽略的内存覆盖问题
strcpy()函数和memcpy()函数都没有处理内存覆盖问题,甚至于
java 文件输出流覆盖问题
今天是本人第一天加入CSDN程序猿大军,咬了咬牙决定坚持更新个博客。今天所遇到的问题是:文件输出流的覆盖问题简而言之就是在输出文件流时由于循环的存在,使得文件不断被重写,因而生成的文件只有一条记录。解决办法import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.OutputStream;