如何从情节提要中的 didSelectRowAtIndexPath 打开视图控制器?

Posted

技术标签:

【中文标题】如何从情节提要中的 didSelectRowAtIndexPath 打开视图控制器?【英文标题】:How to open view controller from didSelectRowAtIndexPath within storyboard? 【发布时间】:2012-02-02 05:33:01 【问题描述】:

我有一个带有 tabbarcontroller 的故事板。选项卡栏之一有一个表格视图,我希望当用户从表格视图中连续点击时打开一个详细视图。问题是当我打开详细视图选项卡栏和导航栏隐藏...在情节提要中,我将详细视图创建为新视图控制器,然后创建一个新文件并将其引用到详细视图类。

didselectrowatindexpath 中的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath 

detalleYouTube *dvController = [[detalleYouTube alloc] init];

[self.navigationController pushViewController:dvController animated:YES];


提前谢谢你!

【问题讨论】:

【参考方案1】:

我假设您将“详细信息”视图作为情节提要的一部分(而不是在单独的 XIB 中),如果是这样,您需要在“详细信息”TabBarItem 序列的开头放置一个单独的 NavigationController。

这个页面有一个很好的教程,关于我认为你想要实现的目标: http://maybelost.com/2011/10/tutorial-storyboard-in-xcode-4-2-with-navigation-controller-and-tabbar-controller-part1/

还可以查看这些链接以获取更深入的故事板教程:

http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2

【讨论】:

【参考方案2】:

另一种方法是不使用 tableView:didSelectRowAtIndexPath 而是使用 prepareForSegue:sender

我的做法是:

-(void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender

    DetailViewController *viewController = [segue destinationViewController];
    CustomObject *custObject = [arrayOfObjects objectAtIndex:[self.tableView indexPathForSelectedRow].row];
    viewController.objectNeeded = custObject;

此示例基于您的详细视图控制器连接到您的表视图控制器的想法。

【讨论】:

【参考方案3】:

这有点老了,但如果有人需要这样做,这里有一个简单的方法:

您可以使用从标签栏中的视图中添加一个 segue 来删除 YouTube,为 segue 添加一个标识符并执行以下操作:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath

[self performSegueWithIdentifier:@"segueIdentifier" sender:tableView];

【讨论】:

以上是关于如何从情节提要中的 didSelectRowAtIndexPath 打开视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

IOS。如何从情节提要中的图像进行布局?

如何以编程方式使用另一个视图中的按钮从情节提要中打开 UIViewController?

如何在 swift 中从情节提要中的 didSelectRowAt indexPath 打开视图标签栏控制器?

如何从情节提要文件中获取现有的控制器对象?

如何使用 Swift 中的自动生成键从情节提要中设置的 UITextView 中检索文本?

如何以编程方式从情节提要中填充静态 UITableView?