2012-08-16 52 views
0

基本上我想要做的就是将UIView包含到故事板上的多个UIViewControllers。我可以包含uiview,但在UIView中不起作用。 我有一个故事板是这样的: enter image description here如何用故事板中的多个UIViewControllers使用segues创建uiview

我有2个UIViewControllers FirstSecond一个选项卡控制器。我有一个分离的UITableViewController与另外两个UIViewControllers AB,与segues连接。

我可以添加表视图到FirstSecond意见作为一个子视图,但是当我点击细胞不进入下一个画面AB。我有点想出了为什么它不起作用,但只是无法找到完成这个最好的方法。

有没有什么好的方法可以做到这一点?我是新来的故事板,但一直在开发iOS应用程序。

编辑:

我的tableViewController添加到每个视图的方式是以下:

self.tableViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"theTableViewController"]; 
[self.view addSubview:_tableViewController.tableView]; 

当在表视图的小区被窃听,prepareForSegue:赛格瑞:发送方被调用,但没有推动导航控制器,因为表视图控制器坐在每个视图控制器中只是一个子视图

EDIT2:

我发布了我的测试项目here

+0

你是如何将“屏幕A”和“屏幕B”连接到tableView的?直接到tableView单元格? – Rick 2012-08-16 05:20:52

+0

@瑞克是的,他们连接到自定义单元格。 – mask8 2012-08-16 05:58:56

+0

由于您正在使用故事板,为什么不在第一个和第二个viewControllers中创建单独的tableView并继续使用“屏幕A”和“屏幕B”?你不需要一行代码。 – Rick 2012-08-16 06:15:18

回答

0

我终于想通了如何使子视图中SEGUE。这其实很简单。看来,我需要在视图控制器添加到主视图控制器作为“childViewControllers”

代替

self.tableViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"theTableViewController"]; 

我不喜欢这样的:

[self addChildViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"theTableViewController"]; 
[self.view addSubview:_tableViewController.tableView]; 

,并在childViewController塞格斯像我期望的那样工作。谢谢你们的帮助。

1

有2种方法可以尝试。

1.直接在tableview单元格和下一个view controller之间创建一个segue。我想强调的是不要在tableview或视图和下一个视图控制器之间创建segue,除非尝试下面的方法。

2.添加以下代码到你的tableview控制器:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if ([indexPath row]) { 
     [self performSegueWithIdentifier:@"segueToB" sender:self]; 
    }else { 
     [self performSegueWithIdentifier:@"segueToA" sender:self]; 
    } 
} 
+0

谢谢你的帮助,但我已经通过segue直接连接了单元和下一个视图控制器。也执行SegueWithIdentifier不起作用,因为表视图作为子视图添加到每个uiview。推导航的东西不起作用。这就是我在这里的问题 – mask8 2012-08-16 06:41:04

+0

似乎只能在'tableView:didSelectRowAtIndexPath:'中调用'pushViewController:animated:'。我会试一试。 – Carina 2012-08-16 06:51:46

+0

嗯我明白了。我会做更多的研究并决定要做什么。我发布了我的测试项目。谢谢! – mask8 2012-08-16 07:00:29