2011-07-13 91 views
0

发生了一个奇怪的问题,我在单元格中放置了一些文本(使用cell.textLabel)和一个小“勾号”图形。当我选择单元格时,应该显示标记,如果已经存在,则消失。实际上发生的是滴答滴答然后几乎立即淡出。这都是非常标准的代码,所以如果任何人有任何想法发生了什么,我会很高兴听到!UITableView单元格中的图形消失

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

} 

非常感谢您的帮助!

回答

0

嗯,我已经想通了 - cell.textLabel坐在我的图形上,所以模糊了它。我只是将textLabel的backgroundColor属性设置为[UIColor clearColor],一切都很好 - 也许我可以让我的图形坐在textLabel之上,我还没有尝试过。

相关问题