Извините, я не знаю лучшего названия.Отключить автоматическую анимацию макета для одного вида
Вопроса:
У меня есть один UITableViewCell
с автоматической раскладкой, высота по умолчанию в бобах составляет 300 300 является правильным размером для одного из моих UIViewControllers
.
Я использую UINavigationController
внутри вида контейнера, под видом контейнера находится UIView
под названием FooterView
.
В контейнере видны два UIViewControllers
; VC1
и VC2
.
Когда я нажимаю VC2
на VC1
, я также изменяю высоту FooterView с его NSLayoutConstraint
постоянной высоты.
Я делаю это внутри анимации блока, с [self.view setNeedsLayout];
Я устанавливающего высоту для UITableViewCell
внутри VC2
200.
Теперь проблема заключается в том, что, когда я переход от VC1
до VC2
вы также видите, что UITableViewCell
анимируется от 300 до 200.
Я предполагаю, что это из-за блока анимации. Я протестировал его, удалив анимацию, и ячейка не оживилась (как и ожидалось).
Есть ли способ остановить эту анимацию?
Прошу прощения, если я недостаточно ясен.
Вам действительно нужно позвонить 'setNeedsLayout'? Вы можете указать, какой вид оживить, а что нет. – kientux
Вы имеете в виду, оживляя рамку? Дело в том, что нижнее ограничение представления контейнера связано с верхним ограничением FooterView, будет ли оно анимироваться и при изменении рамки FooterView с анимацией? –
Я думаю, что неправильно понял вашу ситуацию. Скриншот будет хорошим. – kientux