iPad用回転機能付きのアプリがあります(iPhone版は回転なし)。私のデザインでは、ストーリーボード内で、私はこの階層を持っています:UIView - UIScrollView - UIView
。すべての「ビュー」は画面の全幅に設定されています。第2のUIView
は、クラスMyView
に設定されています。これは外部のxib
ファイルを持つクラスです。ストーリーボードとxibはどちらもポートレートモードで作成されます。iOS - 自動レイアウトの回転が期待どおりに動作しない
問題が発生しました。
アプリをランドスケープモードで実行すると、すべてが正常に読み込まれます。その後、 アプリをローテーションすると、すべてOKです。
アプリをポートレートモードで実行すると、デザインが「中断」します。コンテンツ全体がより薄いので(
MyView
の終わりから画面の最後までの間に約100 + pxのギャップがあります)アプリを回転すると、デザインは壊れていますが、正しく「拡大」されます。ギャップはまだ同じサイズです。どんなに私は何をすべきか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) ( "<NSAutoresizingMaskLayoutConstraint:0x1545b7800 h=-&- v=-&- UIView:0x1546a8cb0.width == ScrollableContentView:0x154575da0.width - 232>", "<NSLayoutConstraint:0x15458dd80 H:[UIActivityIndicatorView:0x1546afa60]-(370)-| (Names: '|':UIView:0x1546ab840)>", "<NSLayoutConstraint:0x15458ddd0 H:|-(361)-[UIActivityIndicatorView:0x1546afa60] (Names: '|':UIView:0x1546ab840)>", "<NSLayoutConstraint:0x1546c7080 H:[UIView:0x1546ab840]-(0)-| (Names: '|':UIView:0x1546a8cb0)>", "<NSLayoutConstraint:0x1546c7120 H:|-(0)-[UIView:0x1546ab840] (Names: '|':UIView:0x1546a8cb0)>", "<NSLayoutConstraint:0x154579710 H:|-(0)-[ScrollableContentView:0x154575da0] (Names: '|':UIScrollView:0x15504c000)>", "<NSLayoutConstraint:0x154686ef0 UIScrollView:0x15504c000.centerX == ScrollableContentView:0x154575da0.centerX>", "<NSLayoutConstraint:0x154697cc0 H:[UIScrollView:0x15504c000]-(0)-| (Names: '|':UIView:0x154547b80)>", "<NSLayoutConstraint:0x154697d10 H:|-(0)-[UIScrollView:0x15504c000] (Names: '|':UIView:0x154547b80)>", "<NSLayoutConstraint:0x15463b8c0 'UIView-Encapsulated-Layout-Width' H:[UIView:0x154547b80(768)]>" ) Will attempt to recover by breaking constraint
、私はこの問題を削除することができません:最初の起動時には、私は、デバッガで次のエラーを得ませんでした。ほとんどすべての制約を削除しても、私は同じ問題を抱えています。
レイアウトの警告/エラーはありません –
あなたはビュー、xib、レイアウトのセットアップコードを抽出し、すべてをgithubに入れることができますか?私たちはそれを簡単に見ることができました。また、xibをプログラムで追加するのも正しいですか?あなたはそれをしながら自動レイアウトの制約を設定しますか? –
申し訳ありませんが、コード/デザインは内部的なものであり、アプリケーションが保存されるまではそのコードを「解放」できません。手動でxibを追加するのではなく、プロパティウィンドウのクラス設定を使用しています。 –