Ich habe mehrere Tage auf diese ohne Lösung in Sicht verbracht.Wie kann ich die Höhe eines InputAccessoryView erhöhen
Ich habe eine inputAccessoryView
, die aus einer UIView
besteht, die eine textView
und zwei Tasten enthält. Das Verhalten der inputAccessoryView
ist wie erwartet und funktioniert in allen Fällen außer einem.
Wenn die Höhe der TextView zunimmt, versuche ich, die Höhe der inputAccessoryView
um den gleichen Betrag zu erhöhen. Wenn ich die Höhe der inputAccessoryView
in textViewDidChange
neu definiere, erhöht die inputAccessoryView
Höhe nach unten über die Tastatur statt nach oben.
Ich habe viele verschiedene Vorschläge von SO versucht, aber nichts hat funktioniert. Ich denke, es ist die automatisch NSLayoutConstraint
der inputAccessoryView
hinzugefügt, aber ich habe keine Ahnung, wie Sie diesen Wert in Swift und iOS 8.3 ändern.
func textViewDidChange(textView: UITextView) {
var contentSize = messageTextView.sizeThatFits(CGSizeMake(messageTextView.frame.size.width, CGFloat.max))
inputAccessoryView.frame.size.height = contentSize.height + 16
}
inputAccessoryView.setTranslatesAutoresizingMaskIntoConstraints(true)
den obigen Code hinzufügen hilft und die inputAccessoryView Höhe steigt nach oben korrekt jedoch bekomme ich leider nicht möglich, gleichzeitig Einschränkungen erfüllen mehrere Einschränkungen, und es ist sehr schwierig, die Täter zu identifizieren. Außerdem bekomme ich einen seltsamen Effekt von textView, der unten auf jeder zweiten Instanz einer neuen Zeile zusätzlichen Platz schafft.
danke.
i den ersten Anruf von textViewDidChange bemerkt habe, nicht richtig inputAccessoryView ohne die Linie setTranslatesAutoresizingMaskIntoConstraints die Größe, aber nachfolgende Anrufe haben keine Wirkung. Ich frage mich, warum das ist und wie ich es zu diesem Anfangszustand jedes Mal wiederherstellen kann – alionthego