2

在调用 View Controller 之前Main,我会通过委托通知MainView Controller 是调用TVC1还是TVC2in Container View

问题:我如何以编程方式告诉Container ViewinMain View Controller调用TVC1 or TVC2

TVC1 *tvc1 = [self.storyboard instantiateViewControllerWithIdentifier:@"TVC1"]; 
TVC2 *tvc2 = [self.storyboard instantiateViewControllerWithIdentifier:@"TVC2"];

在加载视图控制器时Container View,我在哪里以及如何告诉这些控制器之一?loadMain

在此处输入图像描述

4

2 回答 2

1

通过委托,您可以知道将添加哪个视图,因此您可以通过使用任何布尔值 n 来管理它,viewDidLoad您可以通过放置一个条件来加载该视图

在主控制器中:

bool isFirstView;

-(void)delegate:(bool)isFirst
{
  isFirstView = isFirst;
}

// in viewDidLoad 
)
(void)viewDidLoad
{
  if(isFirstView)
  {
    TVC1 *tvc1 = [self.storyboard instantiateViewControllerWithIdentifier:@"TVC1"]; 
  }
  else
  {
    TVC2 *tvc2 = [self.storyboard instantiateViewControllerWithIdentifier:@"TVC2"];
  }
}
于 2013-10-02T19:02:11.673 回答
0

您可以通过使用将管理子视图控制器的自定义容器视图控制器来做到这一点。

在此处输入图像描述

有一个很好的教程:

http://sandmoose.com/post/35714028270/storyboards-with-custom-container-view-controllers

于 2014-04-10T11:10:02.793 回答