私は現在 sizeClasses と iOS8 をいじっていますが、バグである可能性があることに気付きました (シミュレーターまたはデバイスに限定されているかどうかはわかりません) が、最初にここで確認したいと思いました。
新しいプロジェクトを開始するときに標準の「Master-Detail」テンプレートを使用すると、横向きモードの iPhone 6+ で検査したときに、detailViewController で traitcollection が一貫していないように見えることに気付きました。
NSLog onviewDidAppear
およびDetailViewController に追加しwillTransistionToTraitCollection
て traitCollection を表示しましたが、これらは結果です
横向きで発売されたiPhone 6+
View did appear trait collection <UITraitCollection: 0x7fe76b4895f0;
_UITraitNameUserInterfaceIdiom = Phone,
_UITraitNameDisplayScale = 3.000000,
_UITraitNameHorizontalSizeClass = Regular,
_UITraitNameVerticalSizeClass = Compact,
_UITraitNameTouchLevel = 0, _UITraitNameInteractionModel = 1>
iPhone 6+ を縦向きで起動し、DetailViewController に移動して、rotateDevice
<UITraitCollection: 0x7fe76b7076e0;
_UITraitNameUserInterfaceIdiom = Phone,
_UITraitNameDisplayScale = 3.000000,
_UITraitNameHorizontalSizeClass = Compact,
_UITraitNameVerticalSizeClass = Compact,
_UITraitNameTouchLevel = 0,
_UITraitNameInteractionModel = 1>
携帯電話が既にランドスケープ モードで起動されているかどうかがわかるように、detailViewController には、同じ viewController でデバイスを回転させる場合とは異なる traitCollection があります。これはシミュレータのバグですか?それとも、これは予想される動作ですか? もしそうなら、レイアウトを設計するときの sizeClasses には意味がありません。
**編集**物理デバイスで同じ動作が見られることを確認できます
ありがとう