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.Насколько высока идея слова над клавиатурой?
Как я могу убедиться, что панель инструментов остается над предложением слова?
Почему бы не использовать дополнительный вид? – soulshined
Потому что это: http://stackoverflow.com/questions/27664129/constraint-controls-greyed-out-in-xcode-pinning-toolbar-to-bottom/27664304#27664304 – user83039
Я не понимаю. Этот вопрос относится к табличным представлениям. Вам просто нужна панель инструментов поверх клавиатуры. Это называется видом аксессуара входа. Он обрабатывает все анимации для вас, и вы можете поместить все, что хотите, почти https://www.google.com/search?q=ios+inputaccessoryview&ie=UTF-8&oe=UTF-8&hl=ru&client=safari – soulshined