Swift:通过 NSNotificationCenter 的键盘观察器不起作用

2024-03-22

我试图在我的 iOS 8 Swift 应用程序中实现一个简单的键盘观察器,但它确实不起作用。这是我当前使用的代码:

override func viewDidAppear(animated: Bool) {
    NSNotificationCenter().addObserver(self, selector: Selector(keyboardWillAppear()), name: UIKeyboardWillShowNotification, object: nil)
    NSNotificationCenter().addObserver(self, selector: Selector(keyboardWillHide()), name: UIKeyboardWillHideNotification, object: nil)
}

override func viewDidDisappear(animated: Bool) {
    NSNotificationCenter().removeObserver(self)
}

func keyboardWillAppear() {
    logoHeightConstraint.constant = 128.0
}

func keyboardWillHide() {
    logoHeightConstraint.constant = 256.0
}

奇怪的是,启动应用程序后,这两个对键盘做出反应的函数都会被调用一次。当我输入或离开文本字段时没有任何反应。我究竟做错了什么?顺便说一句:改变约束是改变图像大小的最佳解决方案吗?

我真的很感谢你的帮助!


Calling NSNotificationCenter()正在实例化一个新的NSNotificationCenter每次你调用它时。尝试使用NSNotificationCenter.defaultCenter()反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift:通过 NSNotificationCenter 的键盘观察器不起作用 的相关文章

随机推荐