我需要定义一个自定义的
谢谢, 卡洛斯
UITableViewCell
,其中UITableViewCellAccessoryCheckmark
位于UILabel
的左侧。我应该将其定义为图像,还是有更聪明的方法?谢谢, 卡洛斯
UITableViewCell
,其中UITableViewCellAccessoryCheckmark
位于UILabel
的左侧。我应该将其定义为图像,还是有更聪明的方法?根据苹果文档,这只是一个关于UIView的类。因此,将其定义为一个UIView。
首先,你需要创建自己的UITableViewCell子类(在本例中称为MyCell)。在这个类中,在layoutSubviews方法中定义AccessoryView的框架。
- (void)layoutSubviews {
[super layoutSubviews];
self.accessoryView.frame = CGRectMake(0, 0, 20, 20);
}
在您的视图控制器中,告诉表格使用此类作为单元格。此外,您需要将accessoryView设置为包含图像的UIImageView。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[MyCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"check.png"]] autorelease];
}
// Configure the cell.
return cell;
}
这是UITabelViewCell
的一种标准附件类型,尽管您可以使用图像并定义自己的自定义附件视图类型,方法是将your custom view
(您可以在此处添加图像)分配给UITabelViewCell
的accessoryView
属性。
请参阅accessoryType文档。
请参阅accessoryView文档。
我认为使用UITableViewCellAccessoryCheckmark不可能实现这一点。
你需要在
tableView:cellForRowAtIndexPath:
方法中创建一个单元格。
添加自定义子视图或返回自定义单元格。
根据数据状态使其看起来像选中或未选中的复选标记。
UITableViewCellAccessoryCheckmark
。 - vicvicvic