2015-05-09 59 views
0

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

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

我试过在图像上放一个Touch Gesture Recognizer,但它没有奏效。无论何时点击单元格上的图像,它都会延伸到细节视图。然后,我发现了一篇文章,说创建嵌套在单元格中的UIView并将Touch Gesture链接到该单元。所以我尝试了,但现在它只能间歇性地工作。有时,它会正确识别触摸,有时它只会延伸到细节视图。

我在Wunderlist应用程序中看到过这个想法。

如何正确实施?

回答

0

iOS没有原生复选框控件。 Apple改为使用UISwitch。

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

如果您想要复选框样式,您有几个选项。

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

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

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

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

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