有没有一种标准的方法来设置一个表格以允许就地编辑,类似于这样:
目前我只需要可编辑的文本,但将来可能需要UISwitches或UISliders。
![enter image description here](https://istack.dev59.com/BCGEC.webp)
没错,只需添加一个UITextField
,将其font
和textColor
设置为适当的值,并将其作为表格单元格的子视图添加到contentView
中。你可能还想给字段设置一个tag
,这样你就可以使用contentView
的-viewWithTag:
方法轻松地引用它。
如果您只有少量表单,那么您可以通过保留一个单元格数组(每个字段一个)并将它们直接交给表视图来完成,而无需使用-dequeueReusableCellWithIdentifier:
机制处理。但是,如果您需要输入大量内容,则会变得更加复杂。在这种情况下,您可能需要为每种类型的单元格分配不同的重用标识符-一个用于文本字段单元格,一个用于开关单元格,一个用于滑块单元格等。一旦您已经重新排队或创建了行的单元格,您就可以从内容视图中获取其控件(如上所述),并从存储该控件值的任何位置设置其值。
使用“内容:静态单元格”进行原地编辑,并使其看起来像默认样式的UITableviewCell。
它们看起来相当相似,不是吗?
现在,进行IBoutlet操作。
contentView
的子视图添加不会使其看起来像图片中那样。它会出现在文本标签下面。我将文本字段设置为accessoryView
,它可以工作。但是你必须硬编码它的宽度作为一个魔数,如果你支持两个屏幕方向,这将是一个问题。 - Isuru