2015-05-21 3 views
4

дается следующее ограничение в ИОС ими программным:IOS - changng ограничение отношение программно

IBOutlet NSLayoutConstraint *myConstraint; 

это ограничение связано в InterfaceBuilder на следующие детали: enter image description here

Как изменить атрибут отношение программно. Я попытался найти метод под названием setRelation, но я его не вижу.

+1

Что вы пытаетесь сделать, изменив отношение? Там может быть более простой способ. – chedabob

ответ

7

Согласно documentation, relation доступен только для чтения.

Что вам нужно сделать, как я подозреваю, чтобы установить

self.myConstraint.active = NO; 

Затем сделайте новый NSLayoutConstraint программно с помощью:

+ constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:

И в процессе копирования значения, которые вы хотите сохранить и заменить отношение.

Затем add it to the view hierarchy, где необходимо.

0

Вы можете сделать так:

[self.view addConstraint:[NSLayoutConstraint 
           constraintWithItem:self.yellowView 
           attribute:NSLayoutAttributeWidth 
           relatedBy:NSLayoutRelationEqual 
           toItem:self.redView 
           attribute:NSLayoutAttributeWidth 
           multiplier:0.75 
           constant:0.0]];