3

我有一个带有导航控制器的故事板,它通向我想要重用的 UIVIewController。UIVIewController 有一个 ParentUIViewController,它具有我正在重用的所有 UIVIewControllers 的所有基本功能。

目前我正在复制和粘贴(meh),然后我将 UIViewController 的类更改为我想要使用的 ChildUIVIewController(ChildUIViewController 扩展 ParentUIViewController)。

但这听起来像是一个糟糕的解决方案。每次我想直观地更改 ParentViewController 时,我都需要手动更新所有其他 ChildViewController。

我试图为 ParentViewController 创建一个 xib,但未加载xib,因为我需要一个名为 ChildViewController 的 xib。我已经创建了它,然后说这个类是 ParentViewController 但它在 segue 中崩溃了。

编辑

我创建了一个问题状态示例

https://github.com/tiagoalmeida/storyboardexample

请注意,ParentViewController 有一组更复杂的逻辑方式,此处未说明。另请注意,我也在使用 TableView。我希望这可以说明问题。

4

2 回答 2

1

保持 parentViewController 上的逻辑和 child 上的 UI Part UIViewControllers。如果您需要创建一个新的UIViewController,您将创建一个具有相应 XIB 的子级(或摆脱 XIB 并手动创建接口)。

于 2013-07-19T08:26:47.257 回答
0

您是否考虑过UIViewController通过“幻像按钮”循环回到相同的位置?

看看这个:UIStoryboard 电钻,包括电池

本质上,您可以将 a 拖到Bar Button ItemStoryboard 中的 View Controller 下的小黑条中(带有 View Controller、First Responder 和 Exit 图标的 1;抱歉,我不记得确切的名称),然后您可以控制+拖动从那个按钮回到UIViewControllerPush segue。这应该在您的故事板中创建一个循环转场。接下来你需要做的就是给 segue 一个标识符,使用 以编程方式从你的代码中调用它[self performSegueWithIdentifier:],然后实现-(void)prepareForSegue:并使用[segue destinationViewController]来有条件地设置标题,也许还有一些标志,这样你就可以确定何时使用不同类型的提取(或其他代码变体) ) 在同一类代码中。

于 2013-07-19T09:39:31.860 回答