我有两个视图控制器,一个子类 UIViewController
class MGStatusViewController: UIViewController
使用情节提要标识符" MGStatusViewController
"。(对于某些UIButton
s)
另一个子类**MGStatusViewController**
class MGStatusDetailViewController: MGStatusViewController
故事板标识符 MGStatusDetailViewController
当我像这样使用它时:
self.storyboard?.instantiateViewControllerWithIdentifier("MGStatusDetailViewController") as? MGStatusDetailViewController
MGStatusViewController的storyboad文件中没有控制器(UIButton
s)。
我应该如何实现这一目标?谢谢!
答案 0 :(得分:0)
当您继承自定义视图控制器时 - 在此示例中MGStatusViewController
继承了代码和逻辑。您可以将MGStatusDetailViewController
的商家与MGStatusViewController
相关联。就是这样。您无法从故事板继承UIView控件并期望它们显示。
您可以做的是创建MGStatusDetailViewController
从中获取视图并将其添加到MGStatusViewController
。或者,您可以创建嵌入控件并在MGStatusDetailViewController
中嵌入MGStatusViewController
。这样,您将获得故事板中的所有控件,并将显示您的MGStatusDetailViewController
简而言之,继承不会从故事板中获取视图,只接受来自该视图控制器的代码。
此外,从视图控制器继承时,可以将它们用作抽象。您可以为其他视图控制器创建一些逻辑,但不创建实际的UI。
答案 1 :(得分:0)
为什么使用" MGStatusDetailViewController"故事板标识符,如果您已将标识符设置为" MGStatusViewController"
Storybord ID和类是不同的东西。
你可以试试这个 -
self.storyboard?.instantiateViewControllerWithIdentifier("MGStatusViewController") as? MGStatusDetailViewController