0

デバイスを回転させながら横向きをサポートするビューを1つ作成したにもかかわらず、縦向きのみのiphoneアプリを作成しましたが、iOS6ですべて正常に動作しますが、iOS5で実行すると、横向きモードが適切でなく、一部が表示されます厄介な画像。(どちらのデバイスもipod 3.5 "Retinaディスプレイです)

なぜこうなった??

ここに私のコードとスクリーンショットを追加する

iOS5 ファーストビュー デバイスを回転させた後 のiOS6の場合

ファーストビュー デバイスを回転させた後 -(void)viewDidLoad {[super viewDidLoad];

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(didRotate:)
                                               name:UIDeviceOrientationDidChangeNotification
                                           object:nil];


}



- (void)didRotate:(NSNotification *)notification {
UIDeviceOrientation orientation = [[notification object] orientation];

if (orientation == UIDeviceOrientationLandscapeLeft) {
    [self.grpView setTransform:CGAffineTransformMakeRotation(M_PI / 2.0)];
   imageScrollView.frame =CGRectMake(-50, -100, 400, 620);



} else if (orientation == UIDeviceOrientationLandscapeRight) {
    [self.grpView setTransform:CGAffineTransformMakeRotation(M_PI / -2.0)];
} else if (orientation == UIDeviceOrientationPortraitUpsideDown) {
    [self.grpView setTransform:CGAffineTransformMakeRotation(M_PI)];
} else if (orientation == UIDeviceOrientationPortrait) {
    [self.grpView setTransform:CGAffineTransformMakeRotation(0.0)];

}
}
4

1 に答える 1

1

InterfaceOrientationメソッドはios6で非推奨になりました。そのため、ios5とios6の両方で方向をサポートする場合は、ios6用に2つの追加メソッドを作成する必要があります。

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// your customisation will go here
}

iOS6用の2つの追加メソッド

    - (BOOL)shouldAutorotate
    {
        return YES;
    }

    - (NSUInteger)supportedInterfaceOrientations
       {
   // your customisation will go here
       }

プログラミングをお楽しみください!

于 2012-12-27T12:30:41.647 に答える