如何检测iOS中的第一响应者更改?

时间:2019-02-08 00:04:26

标签: ios uikit

我有一个UIViewController,里面有UIScrollView。此滚动视图中包含一些UITextFields,我希望能够根据焦点字段滚动视图。 我的问题是:有没有办法检测UIViewController中的第一响应者何时发生变化?因此,我可以获取它的框架并更改滚动视图偏移以使其位于键盘顶部。 我已经使用keyboardWillShowNotification来更改键盘大小了。但是当已经显示了键盘并且另一个文本字段成为第一响应者时,键盘上没有任何更改,我无法检测到哪个是新的第一响应者。

更新:

  • 滚动视图位于容器视图控制器中,因此添加了文本字段,UITextFieldDelegate可能对此不起作用。除非我可以在添加容器的内容之后设置委托。
  • 我已经管理了键盘通知,它们不能涵盖所有情况。
  • 也有UITextView形式。

1 个答案:

答案 0 :(得分:0)

您应该让lapply()成为library(stringi) lapply(x0, function(x) { out <- stri_replace_all_regex(names(x), c("^A-", "^B-"), c("Z-", "P-"), vectorize_all = FALSE) names(x) <- out x }) 的代表,并且在实现UIViewController的过程中,您可以找出正在编辑哪个文本字段。

以供参考:https://developer.apple.com/documentation/uikit/uitextfielddelegate