【问题标题】:Autorotate not working after reload view controller重新加载视图控制器后自动旋转不起作用
【发布时间】:2012-04-25 16:11:49
【问题描述】:

我正在尝试制作一个 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];
}

在我重新加载/resetIphoneScan 后,自动旋转将不起作用。我已经在这个问题上花了几天时间,但我还没有找到解决方案。非常感谢任何帮助。

提前致谢。

【问题讨论】:

    标签: objective-c ios uiviewcontroller reload autorotate


    【解决方案1】:

    我建议不要重新加载整个根 VC,而是拥有可以根据需要重置的单独数据类 - 毕竟,VC 真的是用来显示所有内容的。

    【讨论】:

    • 感谢您的建议,这正是我所做的,它似乎正在工作^^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多