gpt4 book ai didi

ios - UITableViewCell 中的 UITextField——当它出现在屏幕上时以编程方式使其成为 firstResponder?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:42 26 4
gpt4 key购买 nike

我有一个 UITableView,每个单元格内都有一个 UITextField。存储当前正在编辑的单元格索引的模型对象。如果单元格滚动到屏幕外,我的应用程序将取消第一响应者状态。 (否则可能会导致问题)。现在,假设对应于该索引的单元格(可能是同一单元格,也可能是不同单元格)即将滚动回屏幕。我想让该单元格的文本字段成为 firstResponder。我的代表确实接到了电话

tableView: willDisplayCell: forRowAtIndexPath:

对应新的cell。但是,此时调用 becomeFirstResponder: 无济于事,因为单元格在显示之前不会接受 firstResponder 状态。

在不使用计时器的情况下,关于如何调用 becomeFirstResponder 的任何想法:在单元实际上能够成为第一响应者的时候?

编辑:cellForRowAtIndexPath: 总是在 willDisplayCell: 之前调用。所以那里没有帮助。

最佳答案

我还没有尝试过这个,但我首先要尝试的是在 cellForRowAtIndexPath 中...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

// standard stuff to build cell and setup it's state

if ([indexPath isEqual:self.myModel.indexPathOfTextFieldBeingEdited]) {
// you probably have a handle to the text field from the setup above
UITextField *textField = (UITextField *)[cell viewWithTag:SOME_TAG];
[textField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0];
}
return cell;
}

关于ios - UITableViewCell 中的 UITextField——当它出现在屏幕上时以编程方式使其成为 firstResponder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15189460/

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