到目前为止,已经阅读了一些帖子,例如this和this,但它们对我的情况并没有真正帮助。
我正在使用'普通'风格的UITableViews为iPad创建动态表单。我在页面上有多个不同的UITableViews,所以我将一个单独的对象定义为服务器作为我的数据源和委托。我理解如何使用数据源更改每个单元格的文本;但是,我不知道如何将原型单元格中的UITextFields链接到IBAction。我可以弄清楚如何为我表中的所有文本字段创建单个IBAction,这样它们都会更新相同的数据,但我不知道如何让每个UITextField与我的数据源一一对应。< / p>
这是我的原型单元格:
到目前为止
和我的代码:
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myPrototypeCell"];
UILabel *buildingNumber = (UILabel *)[cell viewWithTag:100];
buildingNumber.text = [@"Building " stringByAppendingString:self.dataSource[indexPath.row][@"buildingNumber"]];
return cell;
}
self.dataSource
是NSMutableDictionaries的NSMutableArray。
任何帮助都表示赞赏。
答案 0 :(得分:1)
我最初认为你指的是IBOutlets所以我之前的回答是错误的,但固有的想法仍然是相同的。
除非细胞是子类,否则您不能从原型细胞中获得IBActions或IBOutlet。如果单元格是静态的,您可以这样做,而不是它可以帮助您的情况。对UITableViewCell进行子类化并不是太难或太糟糕,事实上如果将来你想要在TableView上加快速度,那么这就是众多启动方式之一。
答案 1 :(得分:0)
本教程提供了一些处理表视图单元格内信息的不同选项:
http://mobile.tutsplus.com/tutorials/iphone/customizing-uitableview-cell/
我几乎总是使用UITableViewCell
子类来处理单元格内的出口和操作。但这应该是您根据自己的架构做出的决定。
希望这有帮助!
答案 2 :(得分:0)
你需要单一的所有textField.So执行以下操作:
获取文本字段作为您的标签
UITextField *yourTextField = (UITextField *)[cell viewWithTag:101];
[yourTextField addTarget:self action:@selector(clickTextField:) forControlEvents:UIControlEventEditingChanged];
clickTextField方法将为每个文本字段调用。
希望这有帮助。
编辑:忘记提及,您可以设置UItextField的委托并在UITextFieldTextDidChange中获取通知:委托方法