我有一个添加了分组表视图的 ViewController。一些单元格包含文本字段。当用户按下返回键时,我想将第一响应者切换到单元格列表中的下一个文本字段。但是,我无法让它工作,我无法判断我是否选择了不正确的单元格或选择了不正确的文本字段。
我正在使用以下内容在 cellForRowAtIndexPath 中设置我的标签。
cell.tag = ((indexPath.section + 1) * 10) + indexPath.row;
这将创建一个标签,其中十位是节值,个位是行值。IE。标签 11 是第 0 行第 1 行。
这是我的 textFieldShould Return 的代码
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
UITableViewCell *cell = (UITableViewCell *)textField.superview;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
cell = [self tableView:_tableView cellForRowAtIndexPath:indexPath];
if (indexPath.section == 0)
{
if (indexPath.row == 0)
{
[[cell viewWithTag:((indexPath.section + 1) * 10) + (indexPath.row + 1)] becomeFirstResponder];
}
if (indexPath.row == 1)
{
[[cell viewWithTag:((indexPath.section + 2) * 10)] becomeFirstResponder];
}
}
return YES;
}
最后一点,目前新标签的增量是硬编码的,但我希望能够转到新标签而无需每次硬编码实际值。这可能吗?