2016-05-23 4 views
0

ich eine Chat-Schnittstelle erschaffe und haben eine UITextView und Taste Nachricht in einem UIView zu senden. Die Höhe von UITextView ändert sich basierend auf der Inhaltsgröße, die UIView-Höhe ändert sich jedoch nicht. Chat viewWie sich ändern UIView Höhe auf Elementen basiert im Inneren

werde ich jede Hilfe zu diesem Thema zu schätzen wissen.

Hier sind Einschränkungen für das Nachrichtenfeld Message field constraints

+0

Versuchen Sie, die sizeToFit() -Methode verwendet oder vier Einschränkungen verwenden, um die Ränder der inneren Blick auf die Ränder des Super und Verwendung zu verankern die internen Ansichten, um die Größen zu diktieren. –

Antwort

1

Sets automatische Layout Einschränkungen einen festen Platz spezifizieren und stecken Sie sie von Ihrem UIView oben nach UITextView oben und von Ihrem UIView unten nach UITextView Boden.

Es ist unklar, aus Ihrer Frage, wie Sie die Höhe des Containers Ansicht und Ihren Text Ansicht festlegen. Sie sollten eine Höhenbeschränkung für die Textansicht haben und deren Konstante ändern, wenn Sie die Größe der Textansicht ändern möchten. Ändern Sie den Rahmen nicht direkt. Die Containeransicht darf keine Höhenbeschränkung haben. Die Größe sollte nur aufgrund der unteren und oberen Beschränkungen der Textansicht geändert werden.

+0

Ich habe das schon ausprobiert und es hat nicht funktioniert. – Jason90

+0

Dann sollten Sie uns zeigen, wie Sie das versucht haben. Wenn Sie das automatische Layout verwenden (wie Sie es sollten), ist dies die Art und Weise, wie Sie es normalerweise tun würden. – pajevic

+0

Ich habe meine Frage bearbeitet, um die Einschränkungen einzubeziehen. – Jason90

3

Wenn Sie programmatisch die Ansicht erstellt:

containerView.frame.size.height = textView.frame.size.height 

Wenn Sie die Ansicht auf dem Storyboard

eine Höhe Einschränkung für Ihre Ansicht erstellen erstellen. Verbinden Sie dann diese Einschränkung mit Ihrem Code. Dann führen Sie dies:

heightConstraint.constant = textView.frame.size.height 
+0

Ich verwende das Seitenverhältnis-Constraint in meinem UIView, so dass ich keine Höhenbeschränkung verwenden kann. – Jason90

0

ohne Auto Layout-Code:

txtView.frame = CGRectMake(view.frame.origin.x + 8, view.frame.origin.y + 8, view.frame.size.width - 100, view.frame.size.height - 16); 

btnSend.frame = CGRectMake(view.frame.size.width - 92, (view.frame.size.height/2) - 25, 84, 50); 
Verwandte Themen