Если у меня есть NSLayoutConstraint, который я извлек из self.view.constraints, возможно ли получить объект, к которому применяется ограничение? Редактировать: Чтобы уточнить, что я пытаюсь сделать: переместите UILabel из выключенного экрана во включенное, а затем измените содержимое этого ярлыка
Итак, у меня есть это ограничение:
<NSLayoutConstraint:0x600000e337f0 'lblTeamFieldTop' V:[UILabel:0x7f9d5a826120' Add A Team']-(75)-[UILabel:0x7f9d5a8256f0'Team Name'] (active)>
Я знаю, что это метка, к которой он применяется: [UILabel: 0x7f9d5a8256f0
есть ли способ получить ссылку на этот объект из ограничения?
Чтобы развернуть наэто немного больше.Когда вы создаете ограничение программным способом, вы можете установить следующие свойства:
+ (instancetype)constraintWithItem:(id)view1
attribute:(NSLayoutAttribute)attr1
relatedBy:(NSLayoutRelation)relation
toItem:(id)view2
attribute:(NSLayoutAttribute)attr2
multiplier:(CGFloat)multiplier
constant:(CGFloat)c;
, но WithItem и toItem не кажутся читаемыми свойствами ограничения.
Я нашел это, firstitem и seconditem.
Редактировать: разъяснить мое решение.fistitem и seconditem являются свойствами NSLayoutConstraint.firstitem может быть, например, Superview, а seconditem может быть элементом, который вы привязываете к firstitem, например, UILabel.Так что в моем случае UILabel, который я искал, был вторым элементом (вы можете увидеть их в раскадровке, просто нажмите на NSLayoutConstraint и просмотрите его информационную панель).Я должен был привести его обратно к UILabel, так как я думаю, что NSLayoutConstraint приведёт их к Any.