我在UITextField
中有一个customCell
。我希望能够获得用户输入的文本。在我的customCell.m文件中,我可以获得使用
[self.aTextField addTarget:self action:@selector(aTextFieldEditing:) forControlEvents:UIControlEventEditingChanged];
但我无法获得indexPath
,因此我可以将其保存到包含所有NSMutableArray
的{{1}}。
在我的UITextField
我无法让TableView
运行。我也无法使用didSelectRowAtIndexPath
方法输出任何内容。如果它有帮助我有textFieldDidBeginEditing
部分。
目前我的想法是从TableView
获取indexpath.row
和indexpath.section
并将其保存为extern,以便我可以在customCell.m中访问它
如果我能做到这一点的任何想法或具体例子,我将不胜感激。或者用不同的清洁方式来实现我想要的。
答案 0 :(得分:1)
您应该能够使用-indexPathForRowAtPoint:
上的UITableView
方法获取索引路径。
你可以这样做(未经测试):
- (void)aTextFieldEditing:(UITextField *)textField {
CGPoint convertedPoint = [textField.superview convertPoint:textField.center toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:convertedPoint];
// Use your index path...
}
编辑:
如果您的单元格正在接收编辑事件,您始终可以定义协议并使视图控制器成为单元格的委托。然后,您可以从aTextFieldEditing
方法调用此委托方法并传递单元格。现在您已拥有单元格,您可以在表格视图上调用-indexPathForCell
。如果这些都没有意义,请查看委托模式。它在Cocoa / Cocoa Touch中很常见,并且在网上有很好的文档记录。