UIViewController的子类与Storyboard的子类不起作用

时间:2015-06-11 07:50:30

标签: ios swift

我有两个视图控制器,一个子类 UIViewController

class MGStatusViewController: UIViewController

使用情节提要标识符" MGStatusViewController "。(对于某些UIButton s)

另一个子类**MGStatusViewController**

class MGStatusDetailViewController: MGStatusViewController

故事板标识符 MGStatusDetailViewController

当我像这样使用它时:

self.storyboard?.instantiateViewControllerWithIdentifier("MGStatusDetailViewController") as? MGStatusDetailViewController

MGStatusViewController的storyboad文件中没有控制器(UIButton s)。

我应该如何实现这一目标?谢谢!

2 个答案:

答案 0 :(得分:0)

当您继承自定义视图控制器时 - 在此示例中MGStatusViewController继承了代码和逻辑。您可以将MGStatusDetailViewController的商家与MGStatusViewController相关联。就是这样。您无法从故事板继承UIView控件并期望它们显示。

您可以做的是创建MGStatusDetailViewController从中获取视图并将其添加到MGStatusViewController。或者,您可以创建嵌入控件并在MGStatusDetailViewController中嵌入MGStatusViewController。这样,您将获得故事板中的所有控件,并将显示您的MGStatusDetailViewController

简而言之,继承不会从故事板中获取视图,只接受来自该视图控制器的代码。

此外,从视图控制器继承时,可以将它们用作抽象。您可以为其他视图控制器创建一些逻辑,但不创建实际的UI。

答案 1 :(得分:0)

为什么使用" MGStatusDetailViewController"故事板标识符,如果您已将标识符设置为" MGStatusViewController"

Storybord ID和类是不同的东西。

你可以试试这个 -

self.storyboard?.instantiateViewControllerWithIdentifier("MGStatusViewController") as? MGStatusDetailViewController