func keyboardWillShow(notification: NSNotification) {
let userInfo = notification.userInfo as NSDictionary!
let frameNew = (userInfo[UIKeyboardFrameEndUserInfoKey] as NSValue).CGRectValue()
let insetNewBottom = tableView.convertRect(frameNew, fromView: nil).height
let insetOld = tableView.contentInset
let insetChange = insetNewBottom - insetOld.bottom
let overflow = tableView.contentSize.height - (tableView.frame.height-insetOld.top-insetOld.bottom)
let duration = (userInfo[UIKeyboardAnimationDurationUserInfoKey] as NSNumber).doubleValue
let animations: (() -> Void) = {
if !(self.tableView.tracking || self.tableView.decelerating) {
// Move content with keyboard
if overflow > 0 { // scrollable before
self.tableView.contentOffset.y += insetChange
if self.tableView.contentOffset.y < -insetOld.top {
self.tableView.contentOffset.y = -insetOld.top
}
} else if insetChange > -overflow { // scrollable after
self.tableView.contentOffset.y += insetChange + overflow
}
}
}
if duration > 0 {
let options = UIViewAnimationOptions(UInt((userInfo[UIKeyboardAnimationCurveUserInfoKey] as NSNumber).integerValue << 16)) // http://stackoverflow.com/a/18873820/242933
UIView.animateWithDuration(duration, delay: 0, options: options, animations: animations, completion: nil)
} else {
animations()
}
}
我有一个工具栏,当选中工具栏中的文本视图时,键盘下方会出现。工具栏然后向上滑动,但只是在键盘上方,但它仍然隐藏在最近的iOS更新之一的键盘上方的新建议功能下面。
如何确保工具栏位于单词建议之上?
答案 0 :(得分:1)
你可以隐藏TEXTVIEW.autocorrectionType = UITextAutocorrectionType.No
这些建议。或者
使用输入附件视图,如下所示: TEXTVIEW.inputAccessoryView =您的自定义视图;所以你不需要知道建议工具栏的高度,创建你的视图和TEXTVIEW.inputAccessoryView会自动将它放在建议之上