【发布时间】:2016-07-07 17:48:29
【问题描述】:
我尝试使用某些东西来向上移动视图,因为当我进入表单末尾并点击最后一个文本字段时,我看不到我写的内容,因为键盘出现在文本字段上方,所以我发现了一些东西,但是在这里如果我点击视图顶部的文本字段,这将通过向上隐藏,这就是代码:
override func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)
}
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
self.view.frame.origin.y -= keyboardSize.height
}
}
func keyboardWillHide(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
self.view.frame.origin.y += keyboardSize.height
}
}
但是这里还有一个问题,当我在另一个文本字段上点击两次时,会出现一个黑色块。
所以我不想做的是检测文本字段并将键盘放在它下面,以便向上移动文本字段。并检测键盘是否已经在这里不要显示黑色块。但是我还没有找到解决办法。
【问题讨论】:
-
@EICaptain 不使用库就没有解决方案?
-
你可以试试TPKeyboardAvoiding第三方库解决github.com/michaeltyson/TPKeyboardAvoiding
-
@Birendra 不使用库的解决方案?
-
请看这个扩展。它应该可以帮助你stackoverflow.com/a/36808722/3472073
标签: ios swift keyboard uitextfield