切换到另一个xib时,故事板无法卸载

时间:2014-02-19 21:06:54

标签: ios objective-c storyboard

我正在开发一款适用于iPhone的应用程序,我在切换视图和xib以及故事板等时遇到了一些麻烦。我已经完成了切换视图的一切工作,但是当我改变我的游戏时从我的主菜单查看,它似乎不是完全切换视图,它只是将我以编程方式添加的所有对象附加到同一个故事板由于某种原因,我可以在游戏完全加载和工作时在后台看到前一页。以前视图中的按钮似乎仍然可以工作,但只是“鬼按钮”,因为我可以通过新视图点击它们。

这几乎就好像旧视图永远不会卸载但只是停留在后台,而新视图会添加到旧视图之上。我正在使用Xcode版本5.0.1(5A2053)并开发iOS 7.我用于切换视图的方法是:

从故事板到Xib:

[self presentViewController: [iphoneGame alloc] animated: NO completion:nil];

从Xib到Storyboard:

ViewController *viewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController"];
    [viewController setModalPresentationStyle:UIModalPresentationFullScreen];
    [self presentViewController:viewController animated:NO completion:nil];

1 个答案:

答案 0 :(得分:0)

从XIB加载VC的代码是错误的。您不使用alloc / init创建视图控制器。您需要使用initWithNibName:bundle:。如果为两者传入nil,系统应使用与类名相同的nib名称。

为什么要尝试混合和匹配来自XIB和故事板的VC?这很不寻常。大多数人要么使用其中一种,要么就是这样,那么你就必须正确设置所有东西。