Ios 动态更改容器的高度

Ios 动态更改容器的高度,ios,xcode,swift,storyboard,Ios,Xcode,Swift,Storyboard,我正在尝试动态更改容器的高度以匹配表视图的高度。我目前正在尝试使用Newsfeed视图控制器中的prepareforsgue()来执行此操作。但是newsfeedContainer.frame.height=10不起作用 编辑:我正在尝试编辑约束。我用下面的代码得到了下面的错误 错误:EXC\u错误指令 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.id

我正在尝试动态更改容器的高度以匹配表视图的高度。我目前正在尝试使用Newsfeed视图控制器中的
prepareforsgue()
来执行此操作。但是
newsfeedContainer.frame.height=10
不起作用

编辑:我正在尝试编辑约束。我用下面的代码得到了下面的错误

错误:
EXC\u错误指令

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "NewsfeedSegue" {
            print("NewsfeedSegue Triggered")
            var newsfeedTableController: NewsfeedTableViewController?
            newsfeedTableController = segue.destinationViewController as? NewsfeedTableViewController
            if newsfeedTableController != nil {
                containerHeightConstraint.constant = newsfeedTableController!.newsfeedTableView.frame.height
            }
        }
    }
编辑2:我在表视图控制器的
viewdiload()


如果您使用的是AutoLayout(几乎可以肯定,这是默认设置),那么更改视图的框架通常不起作用。一旦有东西触发布局更新,约束(您指定的约束或系统生成的约束)就会接管框架并将其重置为以前的值


正如Brandon在他的评论中所说,如果您使用AutoLayout,则需要添加一个或多个约束,使这些约束失效,然后更改约束的常量值。

使用视图did布局子视图并设置高度。如果您使用的是约束,请在约束中添加一个出口并更改常量。您是否尝试在interface builder中降低容器的垂直抗压优先级?@Brandon我正在尝试设置约束,但我认为在获取表格高度时出错。请参阅编辑。是的,我打开了自动布局。我开始设置一个系统来设置约束。当我尝试在TableView上使用viewController.frame.height时,我得到了我在编辑中输入的错误。您不能(也不应该)从PrepareForegue或视图控制器外部操作输出。相反,您应该向目标VC添加一个属性,并在viewDidLoad中设置约束?
let viewController = parentViewController as? NewsfeedViewController
        viewController?.containerHeightConstraint.constant = newsfeedTableView.frame.height