ios - 动态更改容器的高度-LMLPHP

我正在尝试动态更改容器的高度以匹配表视图的高度。我目前正在尝试使用Newsfeed View Controller中的prepareForSegue()做到这一点。但是newsfeedContainer.frame.height = 10不起作用。

编辑:我正在尝试编辑约束。使用以下代码出现以下错误。

错误:EXC_BAD_INSTRUCTION

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:我是在表视图控制器的viewDidLoad()中使用以下代码完成此操作的
let viewController = parentViewController as? NewsfeedViewController
        viewController?.containerHeightConstraint.constant = newsfeedTableView.frame.height

最佳答案

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

正如布兰登在评论中所说,如果您使用的是自动版式,则需要添加一个或多个约束,使这些约束输出,然后更改约束的常量值。

关于ios - 动态更改容器的高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38033869/

10-11 19:56
查看更多