長いポーズの前にiOSアプリケーションを長年使用してきました。私の新しいプロジェクトでは、Interface BuilderとStoryboard(Swift 3、Xcode 8.2.1)の新機能を試すことにしました。だから私は、 "標準"と "コンパクト"幅/高さのパラダイムに従って、サポートされているすべてのデバイスに対して厳密に定義された制約を持つ作業用アプリケーションを持っています。すべてがうまくいくように見えましたが、私はこのアプローチを愛していました。Xcode 8のインターフェイスビルダーのオートレイアウトと特性のバリエーションが適切に設計されたストーリーボードビューがシミュレータとデバイスで間違ったサイズを持っています
iPadシミュレータ用の最初のビュー(およびそのコントローラ)を完成させてから、iPhoneシミュレータでこのアプリケーションを実行してレイアウトを確認することにしました。期待どおりに動作しますが、1つのビューで動作することが分かります。
このビューには、次のような動作があります。
- (ちなみに、私のために同じように見える も支援エディタ、)ストーリーボードキャンバスに私がiPadの9,7として」ビューを選択した場合"と (同じ画面サイズの)iPadシミュレーターを実行すると、レイアウトは適切に機能します。
- ストーリーボードのキャンバスで「iPhone 5として表示」を選択し、 iPhone 5シミュレータを実行すると、レイアウトは正しく動作します。
- しかし、私は「iPhone 5のように表示」を選択し、iPadのシミュレータやその他の虚偽の組み合わせでアプリを実行すると、次の処理が行われます。
ビューは(カスタムセグエ、またはデフォルトのプッシュを表示されたらすべて。ビューはナビゲーションコントローラ内にあります)、ストーリーボードで選択したプレビューサイズのサイズまで縮小されたコンテンツが表示されます。次に、画面を塗りつぶすためにアニメート(左上隅から拡大縮小)します。たとえば、「iPhone 5として表示」を選択してiPadで実行した場合、ビューはiPhone 5のサイズを持つiPadシミュレータの左上隅に表示されます。次に、正確なレイアウトの画面を満たすように拡大しますが欲しいです。
この1つのビューの内側には、すべてのデバイスのレイアウトが同じように見えるだけで、縮小/上げられます。だから、本当に間違ったビューサイズになってしまいます。
これはすべて私の設計したものの1つで、私はすべて同じ方法でデザインしレイアウトしました。これはいつでも起こり、シミュレータや実際のデバイスで発生します。
私は先週ウェブからさまざまな提案を試みていましたが、私は助けてくれたトピック(Stack Overflow上)は見つかりませんでした。
私は迷っています。私はどんな提案もできてうれしいです!
ありがとうございます。
Xcodeのバグのように聞こえます。 Appleに報告してください。 –
@ matt.writes.code Appleからの返信はまだありません...これはXcodeのバグかもしれませんか?他のアイデア、それは何ですか? –