Я хочу изменить высоту UITableView в зависимости от взаимодействия пользователя с кнопкой.Когда пользователь нажимает на кнопку, UITableView расширяется и нажимает на ту же кнопку. Высота UITableView уменьшается только для отображения 1-й строки.Ниже приведен мой код
tblFaults?.setNeedsUpdateConstraints()
self.view.setNeedsUpdateConstraints()
if (currentNumber == 1)
{
currentNumber = 2
var newFrame = tblFaults?.frame
newFrame?.size.height += 67;//tried to change frame as well
tblFaults?.frame = newFrame!
faultViewHeight?.constant = 115
//faultView height is tableview height constraint
}
else
{
currentNumber = 1
var newFrame = tblFaults?.frame
newFrame?.size.height -= 67;
tblFaults?.frame = newFrame!
faultViewHeight?.constant = 48
}
tblFaults?.reloadData()
//self.view.setNeedsLayout()
//self.view.setNeedsDisplay()
Я попробовал setNeedsDisplay, setNeedsLayout, а также layoutSubviews () после кода.Но представление не обновляется сразу после нажатия кнопки, а обновляется только после следующего взаимодействия с пользователем (например, изменение прокрутки и т. Д.)