Не удается найти ограничение по идентификатору - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть кнопка с Center X Alignment Constraint, и identifier этого ограничения равно "constBtnSound".

Я пытаюсь получить это constraint со следующим кодом , но не могу найти его .

for const in btnSound.constraints {
  if const.identifier == "constBtnSound" {
        ...
    }
}

Свойства ограничения:

enter image description here

Все ограничения кнопки:

enter image description here

1 Ответ

0 голосов
/ 08 ноября 2018

Вот что документация UIView.addConstraint говорит:

Ограничение должно включать только представления, которые находятся в области действия принимающего представления. В частности, любые участвующие представления должны быть либо самим принимающим представлением, либо подвидом принимающего представления.

Поскольку button.superview не является button и не является подпредставлением button, ограничение не может удерживаться button.

Поскольку button является подпредставлением button.superview, ограничение может удерживаться button.superview (или любым предком button.superview).

Однако вместо поиска ограничения по идентификатору вы можете создать для него выход:

@IBOutlet var buttonXCenterConstraint: NSLayoutConstraint!

Подключите розетку к ограничению в вашей раскадровке.

...