gpt4 book ai didi

ios - 如果我使用两个文本字段,如何设置键盘

转载 作者:行者123 更新时间:2023-11-30 13:23:29 27 4
gpt4 key购买 nike

从几天前开始,我一直在尝试设置我的键盘,但我无法做到。我只是希望当我在底部文本字段中写入时 imageView 向上移动。事实上,它正在工作,但当我尝试在 topTextField 写入时,它也会向上移动。我不希望这样,因为当发生这种情况时,我看不到顶部的 textField,也看不到我在写什么。

我将附上我的屏幕截图和代码。

this image ,我按下 topTextField 来写一些东西,但是正如你所看到的,topTextField 丢失了。我的意思是,当我按下 topTextField 时, View 会向上移动,但我不希望这样。我想要的是,当我按下 topTextField 时,键盘应该出现,但 View 应该位于同一位置。

the last one我按下了 textFieldBottom,正如您所看到的,它起作用了。 View 向上移动,这样我就可以看到我在 textFieldBottom 中写入的内容。

这是我的代码:

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.subscribeToKeyboardNotifications()
self.subscribeToKeyboardNotificationsDown()
}

override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
self.unsubscribeToKeyBoardNotifications()
self.unsubscribeToKeyBoardNotificationsDown()
}
func subscribeToKeyboardNotifications() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.keyboardWillShow(_:)) , name: UIKeyboardWillShowNotification, object: nil)
}
func unsubscribeToKeyBoardNotifications() {
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardWillShowNotification, object: nil)
}

func keyboardWillShow(notification: NSNotification) {
view.frame.origin.y -= getKeyboardHeight(notification)
}
func subscribeToKeyboardNotificationsDown() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.keyboardWillHide(_:)), name: UIKeyboardWillHideNotification, object: nil)
}

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

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

func getKeyboardHeight(notification:NSNotification) -> CGFloat {
let userInfo = notification.userInfo
let keyboardSize = userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue
return keyboardSize.CGRectValue().height
}

最佳答案

//做一件事维护一个全局变量来保存当前处于编辑模式的文本字段,该文本字段基于您设置的条件来移动 ImageView 以下示例代码将为您提供帮助。

var currentTextField: UITextField

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
currentTextField = textField
return true
}

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

关于ios - 如果我使用两个文本字段,如何设置键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494524/

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