У меня есть страница входа и для небольших экранов (например, iPhone 4s) клавиатура может накладываться на кнопку входа и текстовое поле пароля и т. Д. Поэтому я разместил текстовое поле пользователя, текстовое поле пароля и войдите в UIView, который подключен к ViewController как loginView, и я хочу определить, находится ли клавиатура в loginView, она будет вызывать loginView и не накладываться на нее, а нажатие останавливается, когда клавиатура полностью открыта, поэтому loginView будет стоять просто на клавиатуре. И когда клавиатура закрыта, она вытащит loginView, пока не достигнет своей первой позиции.Как сделать UIView движением вверх, когда клавиатура присутствует
Я попытался это, но я»выталкивает все вид
var kbHeight: CGFloat!
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);
func animateTextField(up: Bool) {
var movement = (up ? -kbHeight : kbHeight)
UIView.animateWithDuration(0.3, animations: {
self.view.frame = CGRectOffset(self.view.frame, 0, movement)
})
}
func keyboardWillShow(notification: NSNotification) {
if let userInfo = notification.userInfo {
if let keyboardSize = (userInfo[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
kbHeight = keyboardSize.height
self.animateTextField(true)
}
}
}
func keyboardWillHide(notification: NSNotification) {
self.animateTextField(false)
}
это образец я нашел во многих веб-сайт, что люди имеют те же проблемы с меня используют это. Я изменил эту строку self.view.frame = CGRectOffset(self.view.frame, 0, movement)
с self.loginView.frame = CGRectOffset(self.view.frame, 0, movement)
, потому что я хочу нажать мой вид входа в систему, который имеет текстовые поля и кнопки внутри него, но он по-прежнему не работает и не закрывает кнопку входа в систему, поэтому не нажимайте правильно. Я был бы рад, если кто-нибудь сможет объяснить мне, как это сделать или показать мне источник, который объясняет это, я искал, но не смог найти, возможно, я пропустил.
Вот мой UI http://i62.tinypic.com/1bssy.png
Спасибо советы
вы можете использовать TPkeyboardavoidingscrollview. –