SliderDemoController *sliderDemoController=[[SliderDemoController alloc] initWithNibName:@"" bundle:nil];
[self.navigationController pushViewController:sliderDemoController animated:YES];
我使用storyboard实现了这个方法。但这种方法不起作用。我想在表格视图单元格中打开新的控制器。
答案 0 :(得分:0)
如果您想访问故事板中的任何视图控制器,那么您应该使用UIStoryBoard class
。如果您不确定如何这样做,Here是关于{的Apple文档的链接{1}}并使用方法UIStoryBoard
访问您的故事板
使用方法+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *) storyboardBundleOrNil
访问视图控制器并使用返回的视图控制器对象。希望这可以帮助您....
答案 1 :(得分:0)
您不需要查询UIStoryboard
对象 - 在视图控制器之间设置转换是故事板自动执行的操作。使用故事板,您也不需要实现tableView:didSelectRowAtIndexPath:
。
如果您还没有,请通过控制拖动从(原型)表格单元格到目标视图控制器(看起来像SliderDemoController
)中定义一个segue。 (选择Push segue类型。)对于与您发布的非故事板代码等效的功能,这就是它的所有内容 - 现在点击表格中的任何行将推入SliderDemoController
。
但是,您可能希望根据选择的行配置SliderDemoController
,对吗?然后,在表视图控制器中,实现prepareForSegue:sender:
。在那里,您可以获得对目标视图控制器的引用(来自segue参数)并根据需要进行设置。