在uitableviewcell中切换复选框图像



我一直有一个问题,添加一个复选框图像到我的uitableviewcell和复选框和未选中图像之间切换。

我的简单代码是:

-(UITableViewCell *)tableView:(UITableView *)todoTable cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
UITableViewCell *cell = [self.todoTable dequeueReusableCellWithIdentifier: SimpleTableIdentifier];
if (!cell) { 
    cell = [[[UITableViewCell alloc]
             initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier] autorelease];
}
cell.textLabel.text = [self.todoList objectAtIndex:indexPath.row]; 
return cell;
}

我试着从这里加入溶液

但是我不知道该把……放在哪里interface ToggleImageControl : UIControl我假设我把它放在同一个头文件作为我的视图控制器?

我也试着写

ToggleImageControl *toggleControl = [[ToggleImageControl alloc] initWithFrame: <frame>];
toggleControl.tag = indexPath.row;  // for reference in notifications.
[cell.contentView addSubview: toggleControl];

进入我的代码上面,我会得到一个ToggleImageControl引用错误,因为没有找到接口的实现,我怎么能解决这个问题?

谢谢。

在外观和行为上完成这种修改的最简单方法是编写自己的UITableViewCell子类。UIButton实际上有通过selected属性内置的切换功能。

KakoSquid是正确的。看起来您可能需要花一些时间来了解类和子类是如何构建的。

在你的情况下,这听起来像你已经在。h文件中为你的ToggleImageControl做了一个新的接口部分,但你需要在。m文件中添加一个@implementation部分。

在许多情况下,您将为新类创建一个新文件集。(. h和. m文件)。在这种情况下,切换图像可以在其他项目中重用,因此将其拆分为单独的文件是有意义的。

但是,您可以将接口和实现添加到任何您认为合适的现有苍蝇中。只要确保#import正确的文件,在你使用它们的地方。

最新更新