私のアプリ (iOS 5 以降を対象とし、App Store 用に ARC とストーリーボードを使用) は、いくつかの回転変換を使用します。通話中のステータス バー (進行中の電話やマイクの録音がある場合など) によって、ビューが変換の説明を超えて変更されるバグがあります。問題を診断するために、ビューの変換で再生する簡単なテスト アプリ* を作成しました。
最初は (シミュレーター 5.0 と 6.1、およびハードウェア 6.1 で再現)、次のようになります。
20 度回転した後:
それでも大丈夫!しかし、通話中のステータス バー (command-T) を切り替えると、奇妙なことが起こります。
わかりました。通話中のステータス バーをオフにすると元に戻るかもしれません。
災害!ビューの変換をリセットしてみましょうCGAffineTransformIdentity
ああ、私は何に夢中になったのですか?!
とにかく、私はCGAffineTransformsとQuartz 2D全体に不慣れなので、誰かがなぜこれが起こっているのか教えていただければ幸いです. コードはGithub で入手できます* ざっと調べたい場合。
*コードがソリューションで更新されていることに注意してください。