scrollview hat mehrdeutigen Inhalt Breite auf Xcode 6
Ich kann nicht verstehen, wie kann ich lösen dieses auto-layout-problem, ich habe diese Ansicht:
Es ist ein UIScrollView mit den Elementen, die Sie sehen, in der Ansicht, sondern die Ansicht gibt mir diese Warnung:
scrollview has ambiguous content width
Ich kann nicht verstehen, wie dieses problem zu lösen, möchte ich die Ansicht ist für die volle Bildschirm-Größe, und ich möchte, dass die Breite wird der Bildschirm breit ist, wie kann ich es lösen?
- Sie müssen die content-width-Eigenschaft im code.
- und wie kann ich die Warnung auszublenden?
- Durch die Festsetzung der Frage.
- Und wie ich es beheben kann? Id ich die Größe des Inhalts vom code ändert sich nichts
- Es ist eine klare Antwort auf die Frage beschreiben, dieses problem hier.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beobachtete ich seine fix in XCode 7.3 und es ist nur 10 sec Arbeit. Ich habe ein video auf. Prüfen Sie hier:
https://www.youtube.com/watch?v=yETZKqdaPiI
Alles, was Sie tun müssen, fügen Sie eine Untersicht auf
UIScrollView
mit gleichenwidth and height
. Wählen Sie dannViewController
und drücken SieReset to suggested constraint
. Bitte prüfen Sie dieses video für klare Verständigung.Dank
Dies ist weil Sie nicht mit genügend Einschränkungen, so dass Xcode finden Breite der scroll-Ansicht.
Sie können auf Ihrem Bildschirm sehen, es gibt keine Einschränkungen, die erfüllt werden kann, zu finden, die Breite der scroll-Ansicht.
Können Sie tun Sie dies, indem Sie führende und nachfolgende Leerzeichen von Bild-Ansicht enthält fixe Breite. Es kann auch getan werden, mit anderen Ansichten. Aber ich will lieber die Steuern, welche enthält fix Höhe & Breite, So dass es nicht erfordern zu setzen, umarmt Priorität oder Komprimieren Widerstand.
Setzen Sie alles in einem und diese Ansicht in einem ScrollView.
Editor -> Embed-in -> Ansicht
Lösungen:
Haben Sie eine UIImageView an der Spitze. Legen Sie die Breite der UIImageView, um die gleiche wie die Breite der root-Ansicht von der UIViewController
Legen Sie die führende und nachfolgende Leerzeichen von der UIImageView auf dem UIScrollView werden sowohl 0 als
Legen Sie die Höhe des UIImageView zu der Höhe, die Sie wollen das Bild zu sein. Und dann setzen Sie den view-Modus der UIImageView zu 'Aspekt passen'.
Ich hatte das gleiche problem vor einem Monat. Hinzufügen einer Einschränkung, die macht der
UIView
innerhalb derUIScrollView
haben die gleiche Größe derUIScrollView
's content-Breite. Wenn Sie mehrere Ansichten innerhalb derUIScrollView
setzen Sie IhreUIView
s in eine neueUIView
und stellen Sie sicher, dass der neueUIView
den gleichen Inhalt hat Breite Größe wie dieUIScrollView
.Beste Grüße,
Ich auch konfrontiert mit diesem Problem und der einzige Weg, ich habe es gelöst wurde, anhand der folgenden Strategie
In diesem contentView, set-top -, unteren, linken und rechten Ränder auf 0 (natürlich von der scrollView das ist der superView);
Diese sollten tun Sie es jetzt Sie können, Folgen Sie Schritt 3 und fahren Sie mit Ihrem UI
Hoffe es hilft