Ipad 情节提要-在情节提要中为同一ViewController创建多个视图
我正在使用故事板设计一个iPad应用程序。我有一个显示视图的Ipad 情节提要-在情节提要中为同一ViewController创建多个视图,ipad,storyboard,Ipad,Storyboard,我正在使用故事板设计一个iPad应用程序。我有一个显示视图的ViewController。我的问题是,当管理员看到该屏幕时,他应该看到某个视图,而当用户看到该屏幕时,他应该看到另一个视图。我想我应该为同一个屏幕创建两个视图,并根据记录者加载相应的视图。但是,虽然我可以在以前的iOS版本中的XIB文件中执行此操作,但故事板不允许我在ViewController之外创建视图,因此我无法设计多个视图 我的问题是: 我们可以为同一个ViewController在故事板中设计两个视图吗?如果是的话,怎么办
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的视图出现。问得好。我不知道你为什么没有得到答复。我很高兴知道答案。我也在想同样的问题!遗憾的是答案似乎是否定的。这里回答了同样的问题: