如何获得要求成为第一响应者的UIView?

时间:2017-10-17 03:29:42

标签: ios swift uiview first-responder

在我的应用程序中,我有许多用户输入数据的UITextFields和UITextViews。当用户点击某个字段时,它就成为第一个响应者,键盘显示得很好。当用户然后点击不同的字段时(在修改当前字段之后),键盘消失并且当前字段停止作为第一响应者。然而,被点击的字段不会立即成为新的第一响应者并且键盘关闭。

在我的应用程序中,修改字段后,它会重新计算所有数据并重置所有其他字段中的值。我认为这是导致新拍摄的字段松开它的第一个响应者请求的原因。有些字段不受重新计算的影响,并且这些字段的行为正确(即它们立即获得焦点并且键盘保持打开状态)。所以我很确定更改字段的值或某些属性是重置待处理的第一响应者请求。

如何在第一个响应队列中检测字段是否挂起(如果有这样的事情)?

如何在不将其从此队列中删除的情况下进行更改?

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。我的代码将.isEnabled设置为false,然后将其重置为true。这就是导致该字段从第一响应者链中删除的原因。我的代码共享相同的查看和编辑路径,它最初将字段设置为禁用,如果我们处于编辑模式,则将其设置为启用。修复此问题只是将其设置为启用,而没有初始删除毯,修复了问题。

所以最重要的是,轻弹.isEnabled开关将从响应者链中删除该字段。