实现UITableViewCell上的复选框 - Swift

时间:2015-05-09 10:07:14

标签: uitableview swift

我正在构建一个ToDo List类型的应用程序,我想在UITableView的每个单元格中放置一个可编辑的复选框。我希望用户能够通过点击tableView中的复选框将项目标记为已完成。他们还需要能够在复选框外部的单元格中点击,然后转到详细视图。

到目前为止,我已经创建了一个自定义单元类。计划是显示未选中框的图像,当用户点击图像时,图像将与选中框的不同图像交换(并且项目会相应更新)。

我尝试在图像上放置一个Touch Gesture识别器,但它没有用。每当点击单元格上的图像时,它就会偏离细节视图。然后我在某个地方发现了一篇文章,说创建嵌套在单元格中的UIView并将Touch Gesture链接到该文章。所以我试过了,但现在它只是间歇性地工作。有时它会正确识别触摸,有时它会偏离细节视图。

我在Wunderlist应用中看到了这个想法。

如何正确实施?

1 个答案:

答案 0 :(得分:0)

iOS没有原生复选框控件。 Apple使用的是UISwitch。

如果您想关注Apple的HIG,请使用开关。

如果你想要一个复选框样式,你有几个选择。

您可以将手势识别器附加到图像视图并以此方式执行。

您可以创建UIButton(MyCheckbox)的自定义子类。

您可以找到其他人已创建的第三方复选框类。我会看Cocoa Controls。快速搜索会显示六个不同的复选框选项。

重要的是用户点击的“点击框”的大小。您通常希望创建一个至少30x30点的图像/视图,40x40点更好。一种简单的方法是创建已选中和未选中的图像,并在其周围留出足够的空白,使其成为30x30或40x40点。

我的猜测是你的图片视图太小了,这就是为什么你报告说它只是间歇性地工作。