iPhone SDK の向きに問題があります...
「保持」View ControllerをnavigationControllerにプッシュします。holdViewController は、viewDidLoad を使用して、navigationController ナビゲーション バーを表示し、フリップ ボタンとフリップボタンのセレクターを追加します。次に、TableView を含む UIView を表示する UIViewAnimationTransitionNone を使用してサブビューを追加します。フリップ ボタンをクリックすると、保持されているビュー コントローラーは、読み込まれたサブビューを削除し、別のサブビューに置き換えます。このサブビューには、テーブルビューを含むビューも含まれており、フリップ アニメーションを使用して変換されます。問題は、向きを反転して変更するときに発生します。横向きモードでフリップすると、最初はフリップと回転の両方が機能しているように見えますが、フリップされたビューは縦幅に「トリミング」されていますが、実際には横向きで表示されますが、回転しても修正されません。回転して縦向きに戻し、もう一度裏返します。ホールディングビューが向きの変更を登録していないように見えますが、実装したとおりであることはわかっています
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
3つのView Controllerすべてで、それぞれに対してorientationChanged関数が呼び出されているのがわかります。
3 つのビューコントローラーはすべて、viewDidLoad で自動サイズ変更を設定しています
self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
そして私も実装しました
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return YES;
}
何が起こっているのか、またはもっと重要なことに、それを修正するために何ができるのか、誰かが何か考えを持っていますか?
どうもありがとう