UIScrollViewスクロール可能なコンテンツサイズのあいまいさ
開発者の皆さん、Interface Builder(Xcode 5 / iOS 7)のAutoLayoutに問題があります。これは非常に基本的で重要なので、これが正しく機能する方法を誰もが知っておくべきだと思います。これがXcodeのバグである場合、それは重大なバグです! したがって、このようなビュー階層があるときはいつでも問題が発生します。 >UIViewController >> UIView >>>UIScrollView >>>>UILabel (or any other comparable UIKit Element) UIScrollViewには、すべての側面から50ピクセルなどの制約があります(問題ありません)。次に、UILabelにTop Space制約を追加します(問題ありません)(そして、ラベルの高さ/幅を固定することもできますが、何も変更しませんが、Labelの固有のサイズのために不要になるはずです)。 UILabelに末尾の制約を追加すると、問題が発生します。 例:末尾のスペース:スーパービュー等しい:25 ここで2つの警告が発生します-その理由がわかりません。 A)スクロール可能なコンテンツサイズのあいまいさ(スクロールビューには、スクロール可能なコンテンツの高さ/幅があいまいです) B)ビューの配置ミス(予想ラベル:x = -67実際:x = 207) 私はこの最小限の例を、新しくダウンロードできる新しいプロジェクトで実行し、スクリーンショットを添付しました。ご覧のとおり、Interface Builderは、LabelがUIScrollViewの境界(オレンジ色の破線の長方形)の外側にあると想定しています。問題解決ツールでラベルのフレームを更新すると、ラベルがすぐに移動します。 注:UIScrollViewをUIViewに置き換えると、動作は期待どおりになります(ラベルのフレームは正しく、制約に従います)。したがって、UIScrollViewに問題があるか、何か重要なことを見逃しているようです。 IBで提案されているように、ラベルのフレームを更新せずにアプリを実行すると、正確に、正確に配置され、UIScrollViewはスクロール可能です。フレームを更新すると、ラベルが見えなくなり、UIScrollViewがスクロールしません。 オビ=ワン・ケノービを助けて!なぜあいまいなレイアウトなのですか?なぜ見当違いの表示ですか? ここでサンプルプロジェクトをダウンロードして、何が起こっているのかを理解できるかどうか試してください:https : //github.com/Wirsing84/AutoLayoutProblem