我试图在iPad键盘上显示UITextField。更改iPad键盘高度的通知
当我的键盘显示通知时,我能够获得键盘的高度。
但是,在iPad中,通过更改键盘的语言输入 - >最有可能是日语,键盘的高度发生了变化,因为文本假设区域显示在键盘的顶部,导致我的UITextfield被隐藏该地区....
有谁知道我怎么能得到高度更改通知或任何其他方式?
我试图在iPad键盘上显示UITextField。更改iPad键盘高度的通知
当我的键盘显示通知时,我能够获得键盘的高度。
但是,在iPad中,通过更改键盘的语言输入 - >最有可能是日语,键盘的高度发生了变化,因为文本假设区域显示在键盘的顶部,导致我的UITextfield被隐藏该地区....
有谁知道我怎么能得到高度更改通知或任何其他方式?
答案是,当您切换语言时,UIKeyboardDidShowNotification
会触发每次更改,因此您总能获得更新后的高度。
See my answer here关于如何设置对显示和隐藏的响应以及获取高度。
斯威夫特
的UIKeyboardDidShowNotification
将不会触发了键盘的尺寸变化。在功能
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(instance.keyboardWillChange(_:)), name:UIKeyboardWillChangeFrameNotification, object: nil)
:
使用UIKeyboardWillChangeFrameNotification
代替
let targetSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.CGRectValue()
重要:此事件也将被解雇时,键盘将打开,并会隐藏,可以同时替换UIKeyboardWillShowNotification
和UIKeyboardWillHideNotification
如果只需要尺寸
可能的重复[调整界面时k eyboard出现UITextField或UITextView](http://stackoverflow.com/questions/402658/adjusting-interface-when-keyboard-appears-for-uitextfield-or-uitextview) – jtbandes
我没有调整我的观点,但问题是,在iPad中,根据键盘的语言,高度发生了变化。而且好像没有通知键盘的高度因为键盘已经可见而改变。 – rae148
真的吗?我认为所有的键盘都是一样的高度。 – jtbandes