Представление не обновляется после программного изменения ограничений - PullRequest
0 голосов
/ 02 февраля 2019

Я хочу программно изменить отношение ограничения, поэтому я создаю новое и заменяю старое им.У меня есть IBOutlet моего ограничения, который я хочу изменить.Поскольку я использую multi-os-engine, мой код для обновления ограничения выглядит немного иначе, чем обычный objectiv-c или swift.

setBasketTopConstraint(
        NSLayoutConstraint.constraintWithItemAttributeRelatedByToItemAttributeMultiplierConstant(
            basketTopConstraint().firstItem(),
            basketTopConstraint().firstAttribute(),
            NSLayoutRelation.LessThanOrEqual,
            basketTopConstraint().secondItem(),
            basketTopConstraint().secondAttribute(),
            basketTopConstraint().multiplier(),
            basketTopConstraint().constant()
    )
);

Моя проблема в том, что я не вижу никакого эффектаот изменения ограничения.Кажется, мне нужно как-то освежить мой взгляд.Я звонил view().setNeedsLayout() и view().layoutIfNeeded(), но безуспешно.

Любой совет?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Вам необходимо убедиться, что вы:

  1. Установите все новые ограничения и активируйте их
  2. Отключите и / или удалите все старые ограничения
  3. Позвоните layoutIfNeeded()
0 голосов
/ 02 февраля 2019

Вы пытались добавить код для изменения ограничений в представлении, будет ли макет подпредставлений ??

...