scrollview hat eine mehrdeutige Inhaltsbreite auf Xcode 6

8

Ich kann nicht verstehen, wie ich dieses Auto-Layout-Problem lösen kann, ich habe diese Ansicht:

Es gibt ein UIScrollView mit den Elementen, die Sie in der Ansicht sehen, aber die Ansicht gibt mir diese Warnung:

%Vor%

Ich kann nicht verstehen, wie dieses Problem zu lösen, ich möchte, dass die Ansicht für die gesamte Bildschirmgröße ist, und ich möchte, dass die Breite wird die Bildschirmbreite sein, wie kann ich es lösen?

    
Piero 05.10.2014, 16:24
quelle

6 Antworten

3

Ich habe seine Korrektur in XCode 7.3 beobachtet und es sind nur 10 Sekunden Arbeit. Ich habe ein Video darüber gemacht. Überprüfen Sie hier:

Ссылка

Alles, was Sie tun müssen, ist, eine Unteransicht zu UIScrollView mit demselben width and height hinzuzufügen. Wählen Sie dann ViewController und drücken Sie Reset to suggested constraint . Bitte überprüfen Sie das Video für ein klares Verständnis.

Danke

    
Vaibhav Saran 11.06.2016 07:48
quelle
2

Dies liegt daran, dass Sie nicht genügend Einschränkungen bereitstellen, damit Xcode die Breite Ihrer Bildlaufansicht finden kann. Sie können auf Ihrem Bildschirm sehen, dass es keine Einschränkungen gibt, die erfüllt werden können, um die Breite der Bildlaufansicht zu finden.

Sie können dies tun, indem Sie den führenden und nachfolgenden Bereich der Bildansicht angeben, der die Fixbreite enthält. Es kann auch mit anderen Ansichten gemacht werden. Aber ich werde die Kontrolle bevorzugen, die fix Height & amp enthält; Breite Es ist also nicht erforderlich, die Umgehungspriorität festzulegen oder den Widerstand zu komprimieren.

    
dk-obl 06.10.2014 09:58
quelle
2

Legen Sie alles in eine Ansicht und diese Ansicht in eine ScrollView.

Editor - & gt; Einbetten in - & gt; Zeigen Sie

an     
Borzh 15.01.2015 20:38
quelle
2

Die Lösung ist:

  1. Sie haben oben eine UIImageView. Sie legen die Breite der UIImageView gleich der Breite der Stammansicht des UIViewController

  2. fest
  3. Sie haben den führenden und nachgestellten Bereich von UIImageView für UIScrollView auf 0 gesetzt

  4. Sie legen die Höhe der UIImageView auf die Höhe fest, die das Bild haben soll. Und dann legen Sie fest, dass der Ansichtsmodus von UIImageView "Aspect fit" ist.

spencerfeng 01.02.2015 00:30
quelle
0

Ich hatte das gleiche Problem vor einem Monat. Fügen Sie eine Einschränkung hinzu, die bewirkt, dass das UIView innerhalb des UIScrollView die gleiche Größe wie das UIScrollView hat. Wenn Sie innerhalb der UIScrollView mehrere Ansichten haben, setzen Sie Ihre UIView s in eine neue UIView und stellen Sie sicher, dass die neue UIView die gleiche Breite wie die UIScrollView hat.

Mit freundlichen Grüßen

    
Gabriel Tomitsuka 15.01.2015 20:43
quelle
0

Auch ich habe dieses Problem gemeistert und die einzige Möglichkeit, das Problem zu lösen, war die folgende Strategie:

  1. Fügen Sie eine Bildlaufansicht hinzu und legen Sie ihre Einschränkung fest, um den Bildschirm zu füllen
  2. Wenn Sie eine UIview in der Bildlaufansicht hinzufügen, können Sie diese Ansicht als Inhaltsansicht aufrufen. Setzen Sie in dieser contentView den oberen, unteren, linken und rechten Rand auf 0 (natürlich aus der scrollView, die die superView ist);

Dies sollte jetzt geschehen, Sie können Schritt 3 folgen und mit Ihrer Benutzeroberfläche fortfahren

  1. Platzieren Sie Ihre Ansicht in der Inhaltsansicht und fügen Sie ihr entsprechende Einschränkungen hinzu.

Ich hoffe, es hilft

    
NSDumb 16.08.2016 16:05
quelle