Jestem świadomy keyboardWillShow i wydarzeń keyboardWillHide przez:Zmiana wielkości klawiatury w szybkim tempie?
override public func viewWillAppear(animated: Bool) {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil)
}
ale z nowych klawiaturach systemów iOS 8 klawiatura jest w stanie zmienić bez odwoływania klawiaturę i zastanawiałem się, jak wywołać funkcję na wielkość klawiatury zmiana. Ktoś wie? Dzięki.
Edit: To jest teraz wzywając zmiany kadru, ale przy użyciu tego kodu:
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
NSLog("\(keyboardSize.height)")
}
zwraca starą wysokość klawiatury, na przykład, gdy zmienia się rama do „224,0” powraca „253,0” jakby wysokość nie aktualizowana od czasu kod jest nazywany, a gdy idzie muszą „253,0” powraca stary wysokość znowu która jest „224,0”
Edit 2: Zamiast „UIKeyboardFrameBeginUserInfoKey” użyłem „UIKeyboardFrameEndUserInfoKey” i teraz działa.
Działa dobrze, ale czy znasz odpowiedź na moje zaktualizowane pytanie powyżej? – uhfocuz
Wymyśliłem to. – uhfocuz
Czy możesz udostępnić swoje rozwiązanie @uhfocuz? – andromedainiative