Ipad 情节提要-在情节提要中为同一ViewController创建多个视图

Ipad 情节提要-在情节提要中为同一ViewController创建多个视图,ipad,storyboard,Ipad,Storyboard,我正在使用故事板设计一个iPad应用程序。我有一个显示视图的ViewController。我的问题是,当管理员看到该屏幕时,他应该看到某个视图,而当用户看到该屏幕时,他应该看到另一个视图。我想我应该为同一个屏幕创建两个视图,并根据记录者加载相应的视图。但是,虽然我可以在以前的iOS版本中的XIB文件中执行此操作,但故事板不允许我在ViewController之外创建视图,因此我无法设计多个视图 我的问题是: 我们可以为同一个ViewController在故事板中设计两个视图吗?如果是的话,怎么办

我正在使用故事板设计一个iPad应用程序。我有一个显示视图的
ViewController
。我的问题是,当管理员看到该屏幕时,他应该看到某个视图,而当用户看到该屏幕时,他应该看到另一个视图。我想我应该为同一个屏幕创建两个视图,并根据记录者加载相应的视图。但是,虽然我可以在以前的iOS版本中的
XIB
文件中执行此操作,但故事板不允许我在
ViewController
之外创建视图,因此我无法设计多个视图

我的问题是:

  • 我们可以为同一个
    ViewController
    在故事板中设计两个视图吗?如果是的话,怎么办
  • 我需要并排查看这两个视图,以便分别对它们进行更改。将它们作为主视图的子视图将在运行时加载这两个视图。我希望根据登录用户的不同,只能加载其中一个视图

  • 提前感谢您的帮助

    您可以在另一个脚本控制器中显示一个脚本控制器的视图,但这很棘手。我在故事板中有一个选项卡视图控制器,其中一个视图有一个导航栏,导航栏上有一个分段控件,用于确定控制器中出现了两个视图中的哪个视图。我称之为“主”控制器。我所做的是在“主”控制器上,在主视图中,我在另一个视图的顶部添加了两个视图,它们位于导航栏和选项卡栏之间,并连接到它们

    @property (retain, nonatomic) IBOutlet UIView *leftView;
    @property (retain, nonatomic) IBOutlet UIView *rightView;
    
    当按下分段控件的左段时,rightView被隐藏(setHidden:TRUE),而leftView被取消隐藏。反之亦然

    为了在上述一个视图中显示来自另一个ViewController的视图,我在“主”视图控制器中为每个次ViewController创建了一个IBOutlet

    @property (retain, nonatomic) IBOutlet CustomViewController1 *leftViewController;
    @property (retain, nonatomic) IBOutlet CustomViewController2 *rightViewController;
    
    次要视图控制器的布局必须在导航栏、状态栏和选项卡栏项目的外观方面与“主要”控制器相匹配

    然后,我不得不在“主”视图控制器上的ViewDidLoad中从故事板手动实例化它们

    self.leftViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"CustomViewControllerOne"];
    self.rightViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"CustomViewControllerTwo"];
    
    其中“CustomViewControllerOne”和“CustomViewControllerTwo”是脚本中控制器的“标识符”字段值,我必须输入这些值

    在“主”控制器上的ViewDidLoad中,我再次添加了控制器视图,作为基于段控件隐藏和取消隐藏的视图的子视图

    [self.leftView addSubview:leftViewController.view];
    [self.rightView addSubview:rightViewController.view];
    
    我发现,如果我试图在不创建两个视图容器(leftView和rightView)的情况下将它们添加为主视图的子视图,则次视图控制器在“主”控制器中出现偏移

    self.leftViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"CustomViewControllerOne"];
    self.rightViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"CustomViewControllerTwo"];
    

    因此,当用户按下左边部分时,CustomViewController1的视图出现,当用户按下右边部分时,CustomViewController2的视图出现。

    问得好。我不知道你为什么没有得到答复。我很高兴知道答案。我也在想同样的问题!遗憾的是答案似乎是否定的。这里回答了同样的问题: