在不包含导航控制器的类中(如一般的UIVIewController类,而UITableViewController类包含导航控制器)由一个控制器导航到另一个控制器的方法:
UINavigationController *nav = [[UINavigationController alloc]init];
WebWeatherController* weather = [[WebWeatherController alloc] init];
[nav pushViewController:weather animated:YES];
[self presentViewController:nav animated:true completion:nil];
WebWeatherController类中的界面都是在代码中写的。
如果WebWeatherController类中的界面是在故事板中配置的,由一个控制器导航到另一个控制器的方法:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"tour" bundle:nil];
UINavigationController *nav = [storyboard instantiateViewControllerWithIdentifier:@"Nav"];
tourController* tour = (tourController*)nav.topViewController;
tour.navigationItem.title = @"旅游";
[self presentViewController:nav animated:true completion:nil];
UIStoryboard* storyboard = [UIStoryboardstoryboardWithName:@"tour"bundle:nil];中“tour”指故事板的名字,
UINavigationController *nav = [storyboard instantiateViewControllerWithIdentifier:@"Nav"];中“Nav”指根导航控制器的storyboardID;
如果控制器累包含导航控制器类(如UITableViewController),由该控制器导航到下一控制器的方法:
[self.navigationControllerpushViewController:[[CollectSetupControlleralloc]init]animated:YES];