重新加载视图控制器后自动旋转不起作用

时间:2012-04-13 09:31:19

标签: objective-c ios uiviewcontroller reload autorotate

我正在尝试制作iPhone应用程序,但我发现在重新加载视图控制器后自动旋转无效的问题。
这是第一次运行加载应用程序的代码:

//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后,自动旋转将无法正常工作。我已经花了几天时间解决这个问题,但我还没有找到解决方案。我真的很感激任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我建议不要重新加载整个根VC,而是根据需要重置不同的数据类 - 毕竟,VC实际上是为了显示它。