gpt4 book ai didi

ios - 为 UITextField 弹出键盘时 UIView 消失

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

我在容器 View 中有一个 UITextField,当键盘弹出时容器 View 消失。在同一个容器 View 中有一个 UICollectionView,它的每个自定义单元格都包含一个 UITextField 并且键盘对它们来说工作得很好。

我在 keyboardWillShow 调用的动画函数中打印了容器 View 的框架,两种情况下容器 View 的框架都是相同的,所以看起来容器 View 就消失了 ( instead of "not moved"as i thought) when that specific UITextField is selected.相关代码是:

func keyboardWillShow(notification: NSNotification) {
if let userInfo = notification.userInfo {
if let keyboardSize = (userInfo[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
kbHeight = keyboardSize.height
self.animateDurationView(true)
}
}
}
func keyboardWillHide(notification: NSNotification) {

self.animateDurationView(false)
}

func animateDurationView(up: Bool) {
var movement = up ? -kbHeight : kbHeight
println(movement)
UIView.animateWithDuration(0.3, animations: {
self.durationView.frame = CGRectOffset(self.durationView.frame, 0, movement)
println(self.durationView.frame)
})
}

可以在这个线程中找到屏幕截图:KeyboardWillShow only moves container UIView for certain UITextFields

编辑:在这一点上,我几乎可以肯定是自动布局约束在困扰着我。

最佳答案

尝试在每个动画事务结束时添加 commitAnimations :) 我也遇到过这个问题...现在它工作正常..您可以将委托(delegate)添加到文本字段,您可以移动它委托(delegate)方法 DidBeginEditing 和 DidEndEditing 方法文本框 :)

关于ios - 为 UITextField 弹出键盘时 UIView 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31506480/

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