Segue不适用于动态添加的子视图

时间:2012-09-07 01:02:27

标签: iphone ios cocoa ios5

我有一个带有视图A的故事板,它位于导航控制器内部。我动态地将subView B添加到视图A.子视图B具有表视图,并且表视图单元具有到详细视图的seque(推)。单击单元格时,将调用prepareForSegue方法,但不会显示详细视图。如果我将seque切换为模态,那么详细视图将显示在视图A中,其中subView B是。

我想要发生的是将细节视图推到导航控制器上,当用户回到详细视图时,它会返回到视图A,并嵌入子视图B.

以下是我用于添加子视图的代码:

if(!self.homeViewController){
         self.homeViewController = [self.storyboardinstantiateViewControllerWithIdentifier:@"HomeView"];        
    }

    if(self.currentViewController != self.homeViewController)
    {            
        [self.view insertSubview:self.homeViewController.view belowSubview:self.tabBar];
        [self.currentViewController removeFromParentViewController];
    }

    self.currentViewController = self.homeViewController;

1 个答案:

答案 0 :(得分:0)

如果没有看到您的代码(和故事板),这可能很难诊断出来。然而,我发现有时候使用动态加载的内容来使segues正常工作是一件苦差事。在某些情况下,我发现使用pushViewController:animated:和popViewController:UINavigationController的动画方法可能是更好的方法。您应该可以通过UIViewcontroller.navigationController访问UINavigationController。