addChildViewController和子视图

时间:2015-10-14 23:16:50

标签: ios swift autolayout ios-autolayout

我无法使用addChildViewController来实现顶栏(如导航控制器栏但是自定义)。 我在.xib文件中创建了这个栏,并添加了具有正确自动布局约束的按钮和图像。

我不知道我的控制器在哪个方法中添加此栏。我的控制器在我想要标题的空间中有一个空视图。

    let customHeader = HeaderViewController(nibName: "HeaderViewController",bundle: nil)
    self.addChildViewController(customHeader)
    customHeader.view.frame = self.headerView.frame
    self.view.addSubview(customHeader.view)
    customHeader.didMoveToParentViewController(self)

如果我将这行代码放在headeView的viewWillApear或viewDidLoad框架中(我要添加子视图的空视图)还不是正确的。 如果我在viewDidLayoutSubviews中执行它会多次调用它。

我应该把它放在哪里?或者我可以修复布局问题吗?

1 个答案:

答案 0 :(得分:0)

您需要在将message添加到customHeader.view之后添加约束,以便完全指定您的布局(您现在正在做的事情可能有效,但这取决于{{1}已经是你想要的了)。您可以执行以下操作:

self.view