поэтому я показывать кнопку на верхней части моей клавиатуры, когда клавиатура появляется, а затем скрывается, когда клавиатура разогнала, но поток анимации не достаточно гладкаяплавно скрывать и показывать кнопку в зависимости от наличия клавиатуры
я хочу это прийти вверх и вниз с клавиатуры (без блокировки UI)
изображения:
КОГДА ПОЯВЛЯЕТСЯ кЛАВИАТУРА, можно увидеть, что кЛАВИАТУРА ЕЩЕ нЕ Fullly ПОЯВИЛСЯ НО МОЯ кНОПКА ЗДЕСЬ
И КОГДА СКРЫВАЕТ, еще не полностью разогнали, но КНОПКА GONE
мой код:
КОД:
viewDidLoad ...... {
// here we have notification observers for tracking the states of Keyboard
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(LaunchScreenViewController.keyboardWillShow(_:)), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(LaunchScreenViewController.keyboardWillHide(_:)), name: UIKeyboardWillHideNotification, object: nil)
}
func keyboardWillShow(notification:NSNotification) { // in this function i'm changing the origin (Y) axis of my button os that it can appear on top of my keyboard
let userInfo:NSDictionary = notification.userInfo!
let keyboardFrame:NSValue = userInfo.valueForKey(UIKeyboardFrameEndUserInfoKey) as! NSValue
let keyboardRectangle = keyboardFrame.CGRectValue()
UIView.animateWithDuration(0.3) {
self.nextButtonConstraint.constant = keyboardRectangle.height
}
}
func keyboardWillHide(notification:NSNotification) {
UIView.animateWithDuration(0.5) {
self.nextButtonConstraint.constant = -50 // here i'm making my button out of screen bounds
}
}
эй человек его прекрасно работать, но что с 'UIKeyboardAnimationDurationUserInfoKey' ?? –
вы получаете точное времяInterval для анимации появления клавиатуры (обычно 0,25) – Igor
, но как получить его из 'UIKeyboardAnimationDurationUserInfoKey'? его строка правильная? 'public let UIKeyboardAnimationDurationUserInfoKey: String // NSNumber double' –