私は頭がおかしくなるような問題に遭遇しました。私はそれを解決しましたが、問題についての私の理解は十分ではありません. ドキュメントを調べましたが、説明が見つからなかったため、間違ったトピックを選択したと思います。
VC が回転するたびにサブビューに新しい中心を割り当てていたので、subview
常に中心のままです。
を使用しviewDidLayoutSubviews
て回転時の UI を変更しています。UINavController
にも にも埋め込まれていない VC がある場合、UITabBar
ローテーションで次のフレームが得られます。
portrait
{{0, 20}, {768, 1004}}
land left
{{20, 0}, {748, 1024}}
upside down
{{0, 0}, {768, 1004}}
land right
{{0, 0}, {748, 1024}}
まあ、真剣に?デバイスは横向きで、私のサイズは 748 1024 です??? (ステータスバーのおかげで、768 ではなく 748 だと理解しています。) しかし、なぜ 1024 748 ではないのでしょうか?
背景色を配置すると、すべてのビューが 1024 748 のように色付けされます。
私は開発について何も知らない巨大な馬鹿のように感じました (私は 2 年間 iOS の開発を行っています)。私はショックを受けました。なぜこの問題に遭遇しなかったのですか? 古いプロジェクトをチェックしました - いくつかの NSlogs を設定しましたが、すべて問題ありませんでした。それでは、なぜ私の新しいプロジェクトと最新のプロジェクトで、この奇妙な情報が表示され続けるのでしょうか?
それから私は気づいた - UINavController.
VC を UINavCon に埋め込みました...ログは次のとおりです。
land left
{{0, 0}, {1024, 704}}
upside down
{{0, 0}, {768, 960}}
land right
{{0, 0}, {1024, 704}}
portrait
{{0, 0}, {768, 960}}
はい、私の古いプロジェクトのすべてのローテーション VC はUINavControllers
...そのため...
しかし、同僚の皆さん、リンクを張ってください。このトピックに関する啓発を手伝ってください。のないフレームUINavController
が奇妙で、 を配置できないのはsubviews
なぜUINavController
ですか。前もって感謝します!