質問

私は本当に奇妙なオリエンテーションの問題を抱えています。ナビゲーションコントローラーの下にビューコントローラーのシーケンスがあります。そのうちの1つはあらゆる方向をとることができます。オリエンテーションを去るときは、セトリエント化を使用する必要があります。面白いことは、遷移が次のページに発生すると回転が起こることです。これは通常、単一のケースを除いて問題ではありません - uideviceorientationportraitupsidedownから通常の原因まで、私のすべてのトップマウントアイテムが約8分の1ページに移行します。

私はそれを修正できると思う3つの方法があります:

  1. どういうわけか、私のプッシュビューコントローラーコールからセトライエンションを分離します(したがって、新しいビューはフリップする必要がありません)
  2. 私のアイテムをより良い方法でデバイスの上部に固定するように設定します(私はチェックしました、そしてそれらはそうであるように見えます)
  3. ViewDidLoadメソッドの要素のYディメンションをリセットしますが、それは間違っているようです。

これが私がスタックコードに新しいビューを押します:

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

ResultSelect_ViewController *resultSelect = [[ResultSelect_ViewController alloc] initWithNibName:@"ResultSelect" bundle:nil];
[self.navigationController pushViewController:resultSelect animated:YES];

他の誰かが、シミュレーターがポートレートの振る舞いまで逆さまにテストすることを許可していないことを奇妙に感じますか?

役に立ちましたか?

解決 3

逆さまからポートレートまで回転するときの回転バグを避ける方法は、それをしないことです。代わりに、途中で2回停止することを2回回転させます(たとえば UIDeviceOrientationLandscapeRight)。タイミングの問題は、睡眠を使用するのではなく、代わりに実装することです didRotateFromInterfaceOrientation そして、その時点で2番目の回転(または次のビューへのプッシュ)を発射します。

他のヒント

ただ注意してください:Appleは静的(おそらく動的)アナライザーを使用し始めました プライベートメソッドを使用するアプリをブロックします (例えば setOrientation:)ストアに入ることから。先週私の友人に起こった。

iPhone OS 3.0に対して構築を試みたことがありますか? shouldRotateToInterfaceOrientation:?動作は修正されているようです(2.xの実装と比較) - 少なくとも私にとっては、仕事をします。

通常、あなたは逆さまのオリエンテーションをサポートしません。それは標準的なAppleアプリの動作のようであり、理にかなっています。逆さまのケースは本当に有用ではなく、ユーザーに混乱を引き起こす可能性があります。

同様の問題があり、サブビューが逆さまのケースをめくるときにメインビューを上下に移動するでしょう。逆さまにサポートするのをやめただけで、それは基本的に問題を解決しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top