gpt4 book ai didi

ios - *仅*从 UITextView 观察键盘通知?将 UITextView 传递给 "object"参数不起作用

转载 作者:可可西里 更新时间:2023-11-01 02:19:57 25 4
gpt4 key购买 nike

假设一个 View Controller 同时包含一个 UITextView 和一个 UITextField。如果目标是观察来自 UITextView 的键盘通知,下面的代码不应该工作吗?

不幸的是,它不起作用。与通知关联的函数永远不会被调用。有没有办法只从 UITextView 观察键盘通知?

之所以重要是因为我们需要为 UITextView 而不是 UITextField 滚动父 UIView。否则,键盘会遮挡 UITextView。

class CustomViewController: UIViewController {

@IBOutlet weak var promptField: UITextView!
@IBOutlet weak var nameField: UITextField!

override func viewDidLoad() {
super.viewDidLoad()

// Get notified when keyboard appears
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: promptField)
}

func keyboardWillShow(notification: NSNotification) {
// Do stuff
}
}

最佳答案

NSNotificationCenter.defaultCenter().addObserver(self, 
selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification,
object: promptField)

该代码的结果将是不发送通知。 对象永远 成为promptField。对象是发送者,它不是显示键盘和发送通知的字段——它是应用程序。

想问的问题可能是谁是第一响应者......

关于ios - *仅*从 UITextView 观察键盘通知?将 UITextView 传递给 "object"参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443733/

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