Ich benutze UIKeyboardWillShowNotification, um die Ansicht nach oben und unten zu blättern, wenn die Tastatur aufgerufen wird. Dies funktioniert in den meisten Fällen gut. Die Tastatur verfügt jedoch über einen Fertig-Button, der ein UIAlert erzeugen kann. Ohne das UIAlert gibt es kein Problem, aber wenn das UIAlert aufgerufen wird, passiert mit der Scrollview etwas Seltsames, es scheint zu funktionieren, bis die Größe kleiner wird.UIKeyboardWillShowNotification und UIAlert
Dies ist der Code Ich verwende:
func adjustInsetForKeyboardShow(show: Bool, notification: NSNotification) {
guard let value = notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue else { return }
let keyboardFrame = value.CGRectValue()
let adjustmentHeight = (CGRectGetHeight(keyboardFrame) + 70) * (show ? 1 : -1)
scrollView.contentInset.bottom += adjustmentHeight
//scrollView.scrollIndicatorInsets.bottom += adjustmentHeight
}
func keyboardWillShow(notification: NSNotification) {
if keyboardVisible == false {
adjustInsetForKeyboardShow(true, notification: notification)
keyboardVisible = true
}
}
func keyboardWillHide(notification: NSNotification) {
adjustInsetForKeyboardShow(false, notification: notification)
keyboardVisible = false
}
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
die Tastatur hat dann einen Knopf, der den folgenden Code hat:
func displayAlert(title:String, message:String, view:UIViewController){
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { (action) -> Void in
}))
view.presentViewController(alert, animated: true, completion: nil)
}
Das Ergebnis ist, dass der Alarm gegeben wird, dann, wenn Ich drücke die OK-Taste, der Bildlauf bricht ab.
Kann jemand helfen? Lassen Sie mich wissen, wenn Sie mehr Code benötigen
Versuchen Sie, Ihre 'displayAlert()' -Funktion aufzurufen, nachdem die Tastatur vollständig geschlossen wurde. – ZGski