我在UIImageView
ala中为accessoryView
放置了UITableViewCell
:
UIImage* dragHandleImage = [UIImage imageNamed:@"rtf_icon"];
UIImageView* dragHandleView = [[[UIImageView alloc] initWithImage:dragHandleImage] autorelease];
dragHandleView.tag = DRAG_HANDLE_TAG;
cell.accessoryView = dragHandleView;
但是,当单元格显示在表格中时,accessoryView图像仅在每个部分的第一行可见。在探索之后,我发现在tableview的willDisplayCell:
委托调用和单元格的显示之间,accessoryView的alpha属性设置为零。反正是为了防止这种情况,所以图像是可见的吗?
编辑:
它似乎是在layoutSubviews
调用UITableViewCell
期间完成的。
编辑:
完整的cellForRowAtIndexPath:
函数很长且充满了在这个特定实例中不会被击中的情况。填充单元格的代码如下:
cell.textLabel.hidden = NO;
cell.textField.hidden = YES;
cell.textLabel.tag = indexPath.section * indexPath.row;
NSString *filename = document.document.filename;
if([filename isEqualToString:@""])
{
filename = [document.document previewItemTitle];
}
cell.textLabel.text = filename;
cell.showsReorderControl = NO;
以下代码在图像可见时填充单元格:
cell.textField.tag = indexPath.section;
cell.textField.hidden = NO;
cell.textField.text = [section numberedTitle];
cell.textField.enabled = canAddSections;
cell.textField.clearButtonMode = UITextFieldViewModeWhileEditing;
cell.textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
cell.textLabel.hidden = YES;
cell.showsReorderControl = NO;
答案 0 :(得分:2)
由于这些单元格是可编辑的,因此会显示editingAccessoryView
。将accessoryView
放入editingAccessoryView
证明可以解决问题。不雅,但功能齐全。