iOS 7中的UISplitViewController“在Storyboard中找不到ViewIdentifier”错误
我正在处理UISplitViewController周围的奇怪错误
我创建了一个库,以便尽可能地处理ViewControllers表示和重用代码。 在这段代码中,我使用他们的故事板ID实例化ViewControllers,我用它来切换一个带有SplitViewController的ViewController。
尽管它在iOS 8中运行良好,但它在iOS 7中崩溃时出现此错误。
Storyboard () doesn't contain a view controller with identifier 'MySplitViewControllerIdentifier'
发生这种情况的代码是这样的
+(UIViewController *) instantiateStoryboard:(UIStoryboard *) storyboard withViewIdentifier:(NSString *) identifier { @try { if ([identifier isEqualToString:@""] || identifier == nil) { return [storyboard instantiateInitialViewController]; } else { //HERE IT CRASHES !!!!!! return [storyboard instantiateViewControllerWithIdentifier:identifier]; } } @catch (NSException *exception) { NSLog(ERROR_NO_VIEWCONTROLLER_FOUND, [self class], identifier, storyboard.description); } }
我在故事板上多次检查了这个SplitViewController的配置,故事板ID是正确的。 如果有帮助,则此SplitViewController不是子类。
有人处理过类似的事吗?
谢谢
嗯,我有点愚蠢的xD
UISplitViewController在iOS 8及更高版本中支持iPhone,但我在iOS 7模拟器中尝试过。
编辑
但这是奇怪的事情。 实际上UISplitViewController在带有iOS 7的iPhone中受支持,如果它是初始视图控制器,它就可以工作。 如果您尝试加载之后,正如我在我的问题中尝试的那样,您将得到相同的错误。
所以我将我的初始View Controller更改为我的UISplitViewController,并在需要时更改我的根视图控制器。 我可以回到我的SplitViewController,因为[storyboard instantiateInitialViewController]在这种情况下工作正常。
谢谢你的时间