Wie bekomme ich eine Scroll-Ansicht, um mit Auto-Layout zu arbeiten, um seine Inhaltsgröße zu berechnen?UIScrollView bricht bei der Verwendung von automatischem Layout für Größe auf iOS 8/Xcode 6 GM Seed
Es scheint, dass Xcode 6 eine Einschränkung "UIView Encapsulated Layout Height" immer dann erstellt, wenn eine Scroll-Ansicht (mit Autolayout) vorhanden ist. Diese Einschränkung setzt die Höhe zwangsweise auf die Rahmenhöhe (wodurch die Bildlauffunktionalität einer Bildlaufansicht wiedergegeben wird) nutzlos).
Fehler:
2014-09-09 21:06:01.059 ScrollViewLayoutBreaking[24488:88731] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x7f9a19ebd150 V:[UIView:0x7f9a19ea7f90(530)]>",
"<NSLayoutConstraint:0x7f9a19ec1370 V:[UIView:0x7f9a19ebd5e0(110)]>",
"<NSLayoutConstraint:0x7f9a19ea9ee0 V:[_UILayoutGuide:0x7f9a19ec18d0]-(0)-[UIView:0x7f9a19ea7f90]>",
"<NSLayoutConstraint:0x7f9a19ec1fa0 V:[UIView:0x7f9a19ea7f90]-(0)-[UIView:0x7f9a19ebd5e0]>",
"<NSLayoutConstraint:0x7f9a19e8d270 V:[UIView:0x7f9a19ebd5e0]-(5)-[_UILayoutGuide:0x7f9a19ec2260]>",
"<_UILayoutSupportConstraint:0x7f9a19ea0ac0 V:[_UILayoutGuide:0x7f9a19ec18d0(0)]>",
"<_UILayoutSupportConstraint:0x7f9a19ea7380 V:|-(0)-[_UILayoutGuide:0x7f9a19ec18d0] (Names: '|':UIScrollView:0x7f9a19ea76a0)>",
"<_UILayoutSupportConstraint:0x7f9a19e21d00 V:[_UILayoutGuide:0x7f9a19ec2260(0)]>",
"<_UILayoutSupportConstraint:0x7f9a19e8a930 _UILayoutGuide:0x7f9a19ec2260.bottom == UIScrollView:0x7f9a19ea76a0.bottom>",
"<NSLayoutConstraint:0x7f9a1c003f50 'UIView-Encapsulated-Layout-Height' V:[UIScrollView:0x7f9a19ea76a0(504)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7f9a19ebd150 V:[UIView:0x7f9a19ea7f90(530)]>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
Edit: Alle Ansichten in dieser Scroll-Ansicht sind autolayouted und bereits gemerkt sowohl für die Scroll-Ansicht oben und unten, sowie beiden Seiten. Ich bin mir bewusst, dass es nicht gelingt, eine Inhaltsgröße zu erstellen, wenn es nicht auf allen vier Seiten gebunden wird. Das automatische Layout und das Scrollen sind in iOS 7/XCode 5 korrekt, aber der exakt gleiche Code und Storyboard-Break in iOS 8/XCode 6.
Neu definierte Frage, um es kürzer und klarer zu machen. Derzeit mit Xcode 6 GM Seed. – Uzaak
Noch keine Lösung? – jamespick
Das Beste, was ich mir vorstellen konnte, war eine Tabellenansicht mit einer einzelnen selbsteinstellenden Zelle, die als Scroll-Ansicht, als Separator-Stil, dient. Aber das ist schrecklich genug für mich, um es als absolut letzten Ausweg zu benutzen. – Uzaak