在swift中动态更改容器视图的大小

时间:2016-12-31 04:49:40

标签: swift uitableview uicontainerview

正如标题所示,我正在尝试更改位于表视图控制器中的容器视图的大小。以下代码计算容器视图必须达到的高度。

基本上,它会将用户手机的高度减去表视图中最后一个单元格的Y-AXIS。

我试图使用containerView.bounds.maxY并设置其值,但xcode给出了一个错误,说它只是一个get属性。所以我想知道有人会怎么做呢?在使用我的自定义计算高度显示容器视图之前,必须有一个我可以覆盖的函数。

var dynamicCotainerViewHeight: CGFloat?
@IBOutlet weak var containerView: UIView!

override func viewDidLoad() {
    super.viewDidLoad()

    // call somesort of method that will be called before the container view gets displayed
}
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        if cell.reuseIdentifier == "lastStaticCell" {
            let rectOfCellInTableView = tableView.rectForRow(at: indexPath)
            let rectOfCellInSuperview = tableView.convert(rectOfCellInTableView, to: tableView.superview)

            let screenheight = self.view.frame.size.height

            // Get the desired height for the container view
            dynamicCotainerViewHeight = CGFloat(screenheight) - CGFloat(rectOfCellInSuperview.origin.y)
            print("Height of dynamic\(dynamicallyAllocatedCellHeight)")
        }
    }

这是我到目前为止在故事板中所提供的内容,以便更好地理解我的意思。由于我似乎无法将容器视图约束到其超视图边界,因此我遇到了这个问题

enter image description here

0 个答案:

没有答案