我正在使用故事板。我们假设我有一个名为MYviewController
的视图控制器。
在- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
中,我想用其中一个孩子代替视频控制器,例如:MYviewControllerChild1
或MYviewControllerChild2
。被诅咒的孩子取决于sender
参数。
这些视图控制器具有相同的场景(在故事板中)。只有他们的行为略有不同。
我有一个tableView,向用户显示应用程序的设置。当他点击一个单元格时,它会转到一个viewController,在那里他可以修改某些设置的值。一些论文是字母数字,其他是数字。根据单击的单元格,我希望输入viewController相应地格式化值(如果它是十进制值,我将使用NSNumberFormatter)。
这可能吗?
答案 0 :(得分:0)
正如您对OP的评论所述,我相信您应该在一个viewcontroller中处理这种情况。
但是,如果你坚持使用单独的控制器,可能是因为你认为功能将在以后扩展,因此增加了更多的多样性,你需要通过创建多个故事板场景来处理这个 - 每个子控制器一个。
prepareForSegue中的目标视图控制器由故事板中segue末尾的viewcontroller强加。我认为没有办法覆盖它。
答案 1 :(得分:0)
如上所述,您的问题并不是故事板的理想选择。如果使用故事板,则必须创建并同步多个场景。几种可能的解决方案::
创建多个故事板场景并通过performSegueWithIdentifier手动调用它们。
对此场景使用nib文件而不是故事板。您可以使用单个nib文件,因为视图控制器是在故事板外部使用[[VCClass alloc] initWithNibFile: bundle:
创建的。您可以创建相应的视图控制器类并将相同的nib文件传递给所有实例。
使用单个故事板场景并查看控制器并在prepareForSegue中传递输入信息。