寻找一些视图控制器的子类

时间:2014-03-21 13:47:02

标签: ios iphone cocoa-touch uiviewcontroller uistoryboard

我正在使用故事板。我们假设我有一个名为MYviewController的视图控制器。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;中,我想用其中一个孩子代替视频控制器,例如:MYviewControllerChild1MYviewControllerChild2。被诅咒的孩子取决于sender参数。

这些视图控制器具有相同的场景(在故事板中)。只有他们的行为略有不同。

我有一个tableView,向用户显示应用程序的设置。当他点击一个单元格时,它会转到一个viewController,在那里他可以修改某些设置的值。一些论文是字母数字,其他是数字。根据单击的单元格,我希望输入viewController相应地格式化值(如果它是十进制值,我将使用NSNumberFormatter)。

这可能吗?

2 个答案:

答案 0 :(得分:0)

正如您对OP的评论所述,我相信您应该在一个viewcontroller中处理这种情况。

但是,如果你坚持使用单独的控制器,可能是因为你认为功能将在以后扩展,因此增加了更多的多样性,你需要通过创建多个故事板场景来处理这个 - 每个子控制器一个。

prepareForSegue中的目标视图控制器由故事板中segue末尾的viewcontroller强加。我认为没有办法覆盖它。

答案 1 :(得分:0)

如上所述,您的问题并不是故事板的理想选择。如果使用故事板,则必须创建并同步多个场景。几种可能的解决方案::

  1. 创建多个故事板场景并通过performSegueWithIdentifier手动调用它们。

  2. 对此场景使用nib文件而不是故事板。您可以使用单个nib文件,因为视图控制器是在故事板外部使用[[VCClass alloc] initWithNibFile: bundle:创建的。您可以创建相应的视图控制器类并将相同的nib文件传递给所有实例。

  3. 使用单个故事板场景并查看控制器并在prepareForSegue中传递输入信息。

相关问题