gpt4 book ai didi

ios - 如何使 NSNotificationCenter 仅在选择某个 UITextField 时运行

转载 作者:搜寻专家 更新时间:2023-11-01 05:58:49 27 4
gpt4 key购买 nike

我正在使用 NSNotificationCenter 在显示键盘时向上移动主视图框架。

但是,我只希望它在选择一个 UITextField 时起作用。

这是我目前所拥有的:

func getKeyboardHeight(notification: NSNotification) -> CGFloat {
let userInfo = notification.userInfo

let keyboardSize = userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue

return keyboardSize.CGRectValue().height

}

func keyboardWillShow(notification: NSNotification) {
self.view.frame.origin.y -= getKeyboardHeight(notification)
}

func keyboardWillHide(notification: NSNotification) {
self.view.frame.origin.y += getKeyboardHeight(notification)
}

func subscribeToKeyboardNotifications() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil)
}

func unsubscribeToKeyboardNotifications() {
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardWillShowNotification, object: nil)
}

func subscribeToKeyboardHide() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil)
}

func unsubscribeToKeyboardHide() {
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardWillHideNotification, object: nil)
}

In ViewWillAppear()

self.subscribeToKeyboardNotifications()
self.subscribeToKeyboardHide()

In ViewWillDisappear()

self.unsubscribeToKeyboardNotifications()
self.unsubscribeToKeyboardHide()

当我只选择一个特定的 UITextField 时,如何使 View 向上移动?

最佳答案

试试这个

if yourTextfield.isEditing{}

或者这个

if yourTextfield.isFirstResponder{}

检查这是不是你的文本框

关于ios - 如何使 NSNotificationCenter 仅在选择某个 UITextField 时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30315131/

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