我已经设置了一个带有几个自定义UITableViewCell的UITableView,它们有一些UITextField和UISwitch(基于Settings.app)。我的问题是,当用户点击导航栏中的“保存”按钮时,访问这些文本字段和切换控件以保存其值的节拍方式是什么?
答案 0 :(得分:15)
我的建议是不要使用自定义UITableViewCell
。我曾经以自己的方式去做,但有更好的方法。使用accessoryView
的{{1}}属性,您可以为其指定任意视图,例如UITableViewCell
或UITextField
。它与“设置”应用程序中的完全相同。
然后,当您需要访问它时,只需使用
UISwitch
但是,您必须小心设置单元格并访问它们的值。如果任何单元格脱离屏幕,它将被删除,您将无法访问文本字段。设置单元格时要执行的操作是:
NSString *text = ((UITextField *)cell.accessoryView).text;
答案 1 :(得分:0)
如果您不遵循Ed的建议,您可能最好在自定义单元格中保留文本视图并添加属性以访问视图。
答案 2 :(得分:0)
您还可以让自定义单元格保留对更高级别视图控制器的引用,并在用户更新其中的值时向其发送通知。基本上,复制UIKit中许多库对象使用的委托模式。