ios – 故事板,视图控制器和分段控件

我在故事板中有一个带有分段控件的视图控制器.分段控件从三种不同类型的显示器切换视图.为此,我隐藏/取消隐藏各种视图元素.这很有效,但很难在
Xcode storyboard编辑器中进行编辑.我希望能够拥有可以打开和关闭的图层,具体取决于我正在处理的视图部分.

有没有办法做到这一点?有没有更好的办法?

更新:

我倾向于在单独的xib文件中创建三个视图,并根据需要将它们加载到视图控制器视图中.

最佳答案 您可以在一个Storyboard文件中创建三个不同的ViewControllers,并为每个ViewController分配一个Storyboard ID.不要用segue连接它们.然后删除要显示它们的容器视图,并删除自动生成的ViewController.

然后,对我来说,以下代码有效:

-(void)loadSubviewAtIndex:(NSUInteger)idx;
{
    [self.subviewController.view removeFromSuperview];
    [self.subviewController removeFromParentViewController];

    NSString* subviewIdentifier = [self.subviewIdentifiers objectAtIndex:idx];
    subviewController = [self.storyboard instantiateViewControllerWithIdentifier:subviewIdentifier];
    CGRect frame = self.view.bounds;
    subviewController.view.frame = frame;

    [self.view addSubview:self.subviewController.view];
    [self addChildViewController:self.subviewController];
}

这里我假设你有一个属性subviewIdentifiers,它是一个NSArray和一个隐含的分段控制索引到Storyboard ID的映射,以及一个IBOutlet UIViewController * subviewController,它将容器视图链接到.只需从分段控制操作中调用此方法即可.

点赞