有一个奇怪的问题,我将一些文本放入一个单元格(使用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;
}
非常感谢您的帮助!
答案 0 :(得分:0)
好吧,我已经弄明白了 - cell.textLabel坐在我的图形上面,因此模糊了它。我只是将textLabel的backgroundColor属性设置为[UIColor clearColor],一切都很好 - 也许我可以将我的图形放在textLabel的顶部,我还没有尝试过。