Heim > Fragen und Antworten > Hauptteil
Im Storyboard sind zwei Schnittstellen eingerichtet.
Im Code verwenden
[self.navigationController pushViewController:[[SCMainViewController alloc]init] animated:YES];
Wie man in die Vergangenheit springt, ohne zu laden
Können wir zum Springen keinen reinen Code mehr verwenden? . Kann ich nur segue
verwenden?曾经蜡笔没有小新2017-05-17 10:07:01
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"xxx" bundle:nil];
SCMainViewController *vc = [storyboard instantiateViewControllerWithIdentifier:NSStringFromClass([SCMainViewController class])];
[self.navigationController pushViewController:vc animated:YES];
習慣沉默2017-05-17 10:07:01
可以跳转的,感觉你的 Stroyboard
上相对应的 ViewController
没有关联 Class
- SCMainViewController
。
習慣沉默2017-05-17 10:07:01
id loadViewControllerFromStoryboard(NSString *name,NSString *identifier)
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:name bundle:nil];
UIViewController *vc = nil;
if (identifier == nil)
{
vc = [storyboard instantiateInitialViewController];
}
else
{
vc = [storyboard instantiateViewControllerWithIdentifier:identifier];
}
if ([vc isKindOfClass:[UIViewController class]]) {
return vc;
}
return nil;
}
漂亮男人2017-05-17 10:07:01
先要在storyBoard里面填好StoryBoard ID
然后使用下面的代码加载viewController:
UIViewController *listController = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"listViewController"];