0

iPhoneアプリを作ろうとしていますが、View Controllerをリロードすると自動回転が機能しないという問題が見つかりました。
最初の実行のためにアプリをロードするためのコードは次のとおりです。

//AppDelegate.m:<br />
-(BOOL) application:(UIApplication *)application 
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    iPhoneScanViewController = [[iPhoneScan alloc] init];
    iPhoneScanViewController.ENAD = self;
    [window addSubview:iPhoneScanViewController.view];
    [self.window makeKeyAndVisible];
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
}

ビューコントローラーが読み込まれ、自動回転が機能しています。
次に、ビューコントローラーをリロードする必要がある場合があります。これは私が使用するものです:

-(void) resetIphoneScan {
    if (iPhoneScanViewController) {
        [iPhoneScanViewController release];
    }
    iPhoneScanViewController = [[iPhoneScan alloc] init];
    iPhoneScanViewController.ENAD = self;

    for (UIView *view in [window subviews])
    {
        [view removeFromSuperview];
    }

    [window addSubview:iPhoneScanViewController.view];
    [self.window makeKeyAndVisible];
}

IphoneScan をリロード/リセットした後、自動回転が機能しません。この問題に数日を費やしましたが、解決策が見つかりませんでした。どんな助けでも本当に感謝しています。

前もって感謝します。

4

1 に答える 1

1

ルート VC 全体をリロードするのではなく、必要に応じてリセットできる個別のデータ クラスを用意することをお勧めします。結局のところ、VC は実際にはすべてを表示するためのものです。

于 2012-04-13T09:34:16.397 に答える