【发布时间】:2015-05-15 13:49:43
【问题描述】:
我有一个自定义键盘最奇怪的情况。
首先,我为文本字段设置了一个虚拟视图,以隐藏股票键盘let dummyView : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 1, height: 1))
amountField.inputView = dummyView
然后我有我的自定义键盘,当在文本字段中开始编辑时会动画
func textFieldDidBeginEditing(textField: UITextField) {
keyboardContainer.hidden = false
UIView.animateWithDuration(0.6, animations: {
self.keyboardContainer.frame = self.keyboardScreenPosition!
}, completion: {
finished in
if finished {
//just in case
}
})
}
另外,我设置了一个按钮,应该结束编辑并隐藏我的自定义键盘
@IBAction func calculeaza(sender: AnyObject) {
self.amountField.resignFirstResponder()
UIView.animateWithDuration(0.6, animations: {
self.keyboardContainer.frame.origin.y = self.view.bounds.height
}, completion: {
finished in
if finished {
}
})
}
最奇怪的部分来自resignFirstResponder()。让我解释一下:如果不包括该部分,则键盘隐藏得很好(但文本字段不断闪烁光标,这不是 c 的选项)。
如果包含辞职部分,则键盘会从顶部动画到其当前位置,然后再次按下按钮时,它会按预期向下滑动。
我真的很困惑为什么会发生这种情况...我调试了视图的大小和高度,所以它应该从一开始就向下滑动。我真的不明白发生了什么。
非常感谢任何帮助,非常感谢!
编辑:另一个奇怪的效果是如果我在动画结束关闭中移动辞职部分(或超级结束编辑)。键盘滑动得很好,然后它重新出现在屏幕上
【问题讨论】:
标签: ios swift uitextfield first-responder custom-keyboard