我有一个 iOS 应用程序,我在其中显示一个 UITableView,它又由 UITextField 和 UILabel 组成的自定义行组成。在第一次启动时,我有一个覆盖 UITableView 的 UIImageView,直到用户按下按钮以关闭 UIImageView(从而显示它背后的 UITableView)。
但是,我的问题是,它不是将控制权返回给 UITableView 的第一行,而是选择 UITableView 的最后一行,最重要的是,尽管我明确调用了方法“becomeFirstResponder”,但 UITextField在 UITableView 的最后一行中不允许我输入文本,直到我从表中明确选择一行。然后,只有这样我才能输入文本。我假设我的方法“cellForRowAtIndexPath”从上到下填充我的表格,这就是为什么选择表格的最后一行而不是顶部的原因(这是我的猜测,如果我错了,请纠正我)。
我想做的是在用户关闭 UIImageView 并使其自动成为“firstResponder”后启用 UITableView 的第一行,从而允许用户立即输入文本而无需显式选择特定行。
我按下按钮后关闭 UIImageView 的代码在这里:
- (IBAction)beginDataEntry:(id)sender {
[_imageView removeFromSuperview];
[_cell.dataField becomeFirstResponder];
}
就好像我的 UITableView 处于“边缘”状态,直到我从表中明确选择一行。我究竟做错了什么?