UITableView单元格中的图形消失

时间:2011-07-13 08:04:44

标签: objective-c uitableview cell

有一个奇怪的问题,我将一些文本放入一个单元格(使用cell.textLabel)和一个小的“tick”图形到单元格的右侧。当我选择单元格时,勾选应该出现,或者如果它已经存在则消失。实际发生的是勾号出现然后几乎立即淡出。这都是非常标准的代码,所以如果有人知道发生了什么,我会很高兴听到!

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

NSUInteger section = [indexPath section];
NSUInteger row = [indexPath row];


static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
} else {
    while ([[cell.contentView subviews] count] > 0) {
        UIView *labelToClear = [[cell.contentView subviews] objectAtIndex:0];
        [labelToClear removeFromSuperview];
    }
}


NSString *theName = [[contacts objectForKey:[contactsKeys objectAtIndex:section]] objectAtIndex:row];

cell.textLabel = theName;


if (section == 0) {
    cell.textLabel.textAlignment = UITextAlignmentCenter;
} else {
    cell.textLabel.textAlignment = UITextAlignmentLeft;
}


if ([selectedContacts containsObject:theName]) {

    CGFloat cellRight = tableView.frame.size.width - 70;

    UIImage *theTickImage = [UIImage imageNamed:@"Tick.png"];
    UIImageView *theTickImageView = [[[UIImageView alloc] initWithImage:theTickImage] autorelease];
    theTickImageView.frame = CGRectMake(cellRight, 10, theTickImage.size.width, theTickImage.size.height);

    [cell.contentView addSubview:theTickImageView];

}


return cell;

}

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

好吧,我已经弄明白了 - cell.textLabel坐在我的图形上面,因此模糊了它。我只是将textLabel的backgroundColor属性设置为[UIColor clearColor],一切都很好 - 也许我可以将我的图形放在textLabel的顶部,我还没有尝试过。