如何摆脱iPhone中UITableView单元格内容的覆盖

时间:2013-02-22 06:14:55

标签: iphone ios objective-c

//显示表格中的内容

- (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 个答案:

答案 0 :(得分:0)

使用以下代码,可能对您有所帮助。

- (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)条件之间添加所有元素(组件)。

相关问题