1

iOS6 の自動回転と向きに問題があります。iOS5 で行っていたように動作しないこと。これがサンプルコードです。

implementation mainProgram
// view controller is defined in landscape mode (.xib file)
// The preferredInterfaceOrientationForPresentation and supportedInterfaceOrientations have not been defined because they give me problems with getting the orientation right of other calling classes

-(IBAction)somButtonPressed:(id)sender{
      [self presentViewController:inputText animated:NO completion:nil];
 }
 @end

/////////////////////////////////////////////////////////
// This has has several  UITextField 
// The view of this controller is defined as landscape in .xib
implementation inputText

- (void)viewDidLoad
{
    [super viewDidLoad];

}

- (BOOL)shouldAutorotate {
    return YES;
}

#if 0  // Disabled
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationLandscapeRight;
}
#endif

#if 1  // Enabled
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationLandscapeRight;
}
#endif
@end

質問/観察: 1. UIInterfaceOrientationLandscapeRight の戻り値を持つ inputText で supportedInterfaceOrientations が有効になっている場合、プログラムは、supportedInterfaceOrientations とまったく同じであっても、preferredInterfaceOrientationForPresentation が無効な方向に設定しようとしていると言って失敗します。

  1. inputText の UITextField の 1 つにテキストを入力しようとすると、キーボードが LandscapeRight ではなくポートレート モードで表示されます。inputText コントローラーのビューは、landscapeRight の向きで問題なく表示されます。

それらはすべてios6のバグのようです。他の誰かがそれらの問題に遭遇しましたか?

4

0 に答える 0