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
上传中...
上传图片
插入图片