4

私はアプリケーション(Xcode 4.5 iOS 6)に取り組んでいます.4.5以降のソフトウェアバージョンとデフォルトのiPhone 5がインストールされているデバイスと互換性がある必要があります.    

新しい iOS 6 の変更には自動回転モードが含まれていることは知っています。

デバイスの電源を入れると、「iPhone Simulator 6.0」アプリケーションは正常に動作しますが、「iPhone Simulator 5.0」を実行すると回転の問題が発生します。

iOS 6 からローテーションする新しい方法と古い方法 (非推奨) を iOS 5 に合わせて、コードを挿入しました。

したがって、回転メソッドを探します。

#pragma mark - Rotate Methods

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAllButUpsideDown;
}

- (BOOL) shouldAutorotate
{
   return YES;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

#pragma mark - Rotate Methods iOS 5

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (UIInterfaceOrientationIsPortrait(interfaceOrientation))
    {
        [menuPortrait setHidden:NO];
        [menuLandscape setHidden:YES];
    }

    if (UIInterfaceOrientationIsLandscape(interfaceOrientation))
    {
        [menuPortrait setHidden:YES];
        [menuLandscape setHidden:NO];
    }
    return YES;
}

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
        if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation))
        {
            [self.menuLandscape setHidden:YES];
            [self.menuPortrait  setHidden:NO];
        }
        if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
        {
            [self.menuLandscape setHidden:NO];
            [self.menuPortrait setHidden:YES];
        }

    [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
}

この問題について何かアドバイスをいただけないでしょうか。ご回答ありがとうございます。

4

1 に答える 1

3

次のようにすべてのView Controllerをサブクラス化することでそれを達成しました:

//.h #インポート

@interface ITViewController : UIViewController

@end

//.m

#import "ITViewController.h"

@interface ITViewController ()

@end

@implementation ITViewController


- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

これにより、横方向モードが強制されます。両方のメソッドのコンテンツを更新して、目的の動作に準拠することができます

于 2012-10-31T17:12:46.430 に答える