gpt4 book ai didi

iphone - 移动到分组 TableView 中不同单元格中的下一个 UITextField

转载 作者:行者123 更新时间:2023-11-28 19:11:49 25 4
gpt4 key购买 nike

我有一个添加了分组 TableView 的 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;
}

最后一点,目前新标签的增量是硬编码的,但我希望能够转到新标签而无需每次都对实际值进行硬编码。这可能吗?

最佳答案

如果您的所有单元格都包含 1 个 UITextField,我认为您可以子类化 UITableViewCell 并添加一个引用单元格文本字段的属性,like I did here .

但是您说过只有您的某些单元格包含文本字段,因此另一种选择是创建一个指向 UITextFields 的指针数组(我想到了 here )。然后用户按 Return 键会像这样循环浏览它们:

- (BOOL) textFieldShouldReturn:(UITextField*)textField {
NSUInteger currentIndex = [arrayOfTextFields indexOfObject:textField] ;
if ( currentIndex < arrayOfTextFields.count ) {
UITextField* nextTextField = (UITextField*)arrayOfTextFields[currentIndex+1] ;
[nextTextField becomeFirstResponder] ;
}
else {
[textField resignFirstResponder] ;
}
}

关于iphone - 移动到分组 TableView 中不同单元格中的下一个 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com