Ios 在多个故事板中使用相同的UIViewController
我最近正在使用的iOS应用程序中有三种类型的用户,用户类型如下所示:Ios 在多个故事板中使用相同的UIViewController,ios,uiviewcontroller,storyboard,uistoryboard,xib,Ios,Uiviewcontroller,Storyboard,Uistoryboard,Xib,我最近正在使用的iOS应用程序中有三种类型的用户,用户类型如下所示: 标准用户 队长 董事会成员 由于用户的功能可能不同,我认为在应用程序中有三个故事板是有意义的,每个故事板都包含当前登录用户的各自流程。因此,故事板将是: 标准用户故事板 队长故事板 董事会成员故事板 到目前为止,一切都很好 现在,我有一个TasksViewController,它负责显示特定于当前登录用户的任务,这个视图控制器是在XIB中创建的。TasksViewController提供了一个通用的功能,我应该能够在所
- 标准用户
- 队长
- 董事会成员
- 标准用户故事板
- 队长故事板
- 董事会成员故事板
- 这样做对吗
- 如果这样做是正确的,那么有可能这样做吗
- 如果可能,如何实施
- 这样做对吗
- 有可能吗?如何实施
- 那怎么办呢?
希望这有帮助 是的,你能做到。我认为重用同一个ViewController是很好的。另一种方法是使用故事板保存所有可重用的视图控制器,并通过标识符重用视图控制器 以下是使用xib的解决方案:
NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"TaskController"
owner:self
options:nil];
TaskController *tasks = (TaskController *)[nibViews objectAtIndex:0];
// Do the stuff you want here
为完整起见,下面是从情节提要重用视图控制器:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"SomeStoryboard" bundle:[NSBundle mainBundle]];
TaskController *nextOpportunity = [sb instantiateViewControllerWithIdentifier:@"YourIdentifier"];
以您建议的方式呈现
TasksViewController
是有意义的,而且肯定会起作用,但是,TasksViewController
不会出现在Xcode内的情节提要设计界面中。我只是想知道是否有一种方法可以在多个故事板中显示TasksViewController
。很确定您要问的是,您是否可以在所有三个故事板中看到嵌入在XIB中的设计。几乎可以肯定这是不可能的。@SteveMadsen,明白了!这就是我的要求。我不确定我所要求的是否是一个故事板功能,但是,至少对我来说,它听起来是合乎逻辑的。我同意它可能非常有用。您应该提交一个增强或新功能请求,然后,如果您正在参加WWDC,可能会去实验室和Xcode工程师谈谈。
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"SomeStoryboard" bundle:[NSBundle mainBundle]];
TaskController *nextOpportunity = [sb instantiateViewControllerWithIdentifier:@"YourIdentifier"];