Ich versuche, die Unterseite einer UItextView
ändern Einschränkungen, wenn die Tastatur präsentiert wird, so dass die UItextView
wird von TextView "eingeschränkt". Ich habe eine UIView
Ich habe Spacer zwischen UItextView
und der unteren Layout-Anleitung benannt. Ich versuche, den Wert der Einschränkung für den Abstandhalter zum unteren Rand der Ansicht auf die Tastaturhöhe zu ändern. Jede Hilfe wird geschätzt.Swift: Ändern Sie automatische Layout-Einschränkungen, wenn die Tastatur angezeigt wird
Hier ist mein Code:
@IBOutlet weak var textView: UITextView!
@IBOutlet weak var spacer: UIView!
@IBOutlet weak var spacerBottomLayoutConstraint: NSLayoutConstraint!
in viewDidLoad
:
textView.becomeFirstResponder()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(AdditionalDetailsVC.keyboardShown(_:)), name: UIKeyboardDidShowNotification, object: nil)
und wo die Magie passiert:
func keyboardShown(notification: NSNotification) {
let info = notification.userInfo!
let value: AnyObject = info[UIKeyboardFrameEndUserInfoKey]!
let rawFrame = value.CGRectValue
keyboardFrame = view.convertRect(rawFrame, fromView: nil)
print(keyboardFrame)
print(spacerBottomLayoutConstraint)
//Setting text field to bottom of keyboard
//spacerBottomLayoutConstraint.constant = keyboardFrame.height
UIView.animateWithDuration(1, animations: {
self.spacerBottomLayoutConstraint.constant = self.keyboardFrame.height
self.view.layoutIfNeeded()
})
}
Und was ist das Problem? Ich sehe deinen Code und ich sehe dein Ziel, aber ich sehe keine Frage. (Übrigens brauchen Sie nicht zu animieren; Sie erhalten eine automatische Animation zusammen mit der Tastatur.) – matt
Ja matt ist richtig –
Ich möchte, dass die Tastatur den 'UITextView' drückt und den Puffer des' UIView'-Spacers dazwischen hält . Gerade jetzt ist das Textfeld hinter der Tastatur. – Manstof