如何检测何时选择 TextView 但在它成为第一响应者之前?
How to detect when a TextView is selected but before it becomes first responder?
我希望滚动视图与键盘同步移动。为了将它移动到正确的位置,我需要获得对作为第一响应者的 textview 的引用。如果我在它成为第一响应者之后得到参考,那么滚动就会滞后于键盘的出现。如果我在textview成为第一响应者之后将第一响应者分配给一个变量,那么当键盘移动时第一响应者引用将不可用。
您可以在系统显示键盘之前使用 UITextViewDelegate.textViewShouldBeginEditing(_:)
获取您的第一响应者参考
import UIKit
class ViewController: UIViewController, UITextViewDelegate {
var currentFirstResponder: UITextView?
// iOS will call this before it shows keyboard
// If you return true, it will show keyboard
// If you return false, it will not show keyboard
func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
currentFirstResponder = textView
return true
}
}
我希望滚动视图与键盘同步移动。为了将它移动到正确的位置,我需要获得对作为第一响应者的 textview 的引用。如果我在它成为第一响应者之后得到参考,那么滚动就会滞后于键盘的出现。如果我在textview成为第一响应者之后将第一响应者分配给一个变量,那么当键盘移动时第一响应者引用将不可用。
您可以在系统显示键盘之前使用 UITextViewDelegate.textViewShouldBeginEditing(_:)
import UIKit
class ViewController: UIViewController, UITextViewDelegate {
var currentFirstResponder: UITextView?
// iOS will call this before it shows keyboard
// If you return true, it will show keyboard
// If you return false, it will not show keyboard
func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
currentFirstResponder = textView
return true
}
}