我有一个UIScrollView
,其中UITableView
隐藏在UIView
之下。 UITableView
包含动态高度的单元格,但我无法设置滚动视图的contentSize
。如果我在viewDidLayoutSubviews
中设置它,它可以正常工作,但从viewDidLoad
调用它将无效。从viewDidLayoutSubviews
调用它是一个问题,因为该函数每隔几秒刷新一次,如果我向tableView添加一个新元素,我不知道如何更改scrollView的contentSize。这就是我到目前为止所做的:
DispatchQueue.main.async {
UIView.animate(withDuration: 0, animations: {
self.tableView.layoutIfNeeded()
}) { (complete) in
print(self.tableView.contentSize.height)
self.tableViewHeightConstraint.constant = self.tableView.contentSize.height
self.scrollView.contentSize.height = self.tableView.contentSize.height + self.view.frame.width/2 + 10
print(self.scrollView.contentSize.height)
}
}
所以我的问题是,我怎么能从viewDidLoad开始工作?
答案 0 :(得分:0)
您可以使用(Dispatch.main.async After)从viewDidLoad中调用它,或者在viewDidLayoutSubviews中设置它并将调整大小代码放入if语句中,并且在IF中设置一次= false,将一次bool值执行一次声明