gpt4 book ai didi

ios - 在输入另一个单元格后,如何在单元格中启用禁用的文本字段?

转载 作者:行者123 更新时间:2023-11-29 02:15:58 26 4
gpt4 key购买 nike

我有一个包含三个单元格的 TableView Controller ,每个单元格都有一个用户定义的文本字段:-国家-状态(禁用)-城市(禁用)

如何在用户输入“国家/地区”后启用“州”文本字段?

主要问题是我使用了一个名为“Field”的模型,它有一个名为“depends”的属性,它显示了另一个不能为空的 Field 的 id。

我的自定义表格 View 单元格有一个属性“Field”。

如果我使用“textfieldDidBeginEditing()”,我只能访问单元格内的文本字段,而不能访问“Field”属性。

我的所有单元格都是动态创建的。

该项目采用 Objective-C 语言。

最佳答案

这很简单,这是您的步骤

  1. 将 textfield.delegate 设置为您的 UIViewController
  2. 实现 UITextFieldDelegate 方法 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
  3. 如果需要,请检查文本长度
  4. 使用以下代码获取您想要启用的下一个单元格:

    UITableViewCell *thisCell = [textView superCell];
    NSIndexPath *thisIndexPath = [tableView indexPathForCell:thisCell];
    NSIndexPath *nextIndexPath = [NSIndexPath indexPathForRow:thisIndexPath.row inSection:thisIndexPath.section];
    UITableViewCell *nextCell = [tableView cellForRowAtIndexPath: nextIndexPath];
  5. nextCell内的textField调用becomeFirstResponder

您需要使用以下方法创建一个 UIView 类别,上面的代码才能工作

- (UITableViewCell *)superCell {
UIView *cell = self;
do {
cell = cell.superview;
} while( ![cell isKindOfClass:[UITableViewCell class]] && cell != nil );

return (UITableViewCell *)cell;
}

关于ios - 在输入另一个单元格后,如何在单元格中启用禁用的文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28745165/

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