2015-04-15 2 views
0

Я создал IBOutlet для ограничения верхнего интервала. Мне нужно обновить значение, которое ограничено программным способом в viewDidLoad. Вот мое заявление в IBOutlet:Обновление значения ограничения не работает в автоматическом макете

IBOutlet NSLayoutConstraint *labelTopSpace; 

и вот как я меняя верх:

labelTopSpace.constant = 50.0; 

, но это не работает в моем случае. я что-то упускаю?

Обновление: Должен ли я использовать его?

+0

do drag and drop для выхода ........ сделать прибыль –

+0

, который не работает –

+0

он работает для меня .... –

ответ

0

Сделать это свойство, как

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *labelTopSpace; 

затем проверить соединение на выходе. аналогично заданный вопрос Unable to make outlet connection to a constraint in IB

+0

То же самое, что я говорю ... но он сказал, что не сработает .... :( –

+0

Я только что попробовал в образце приложения. Он работает !!! – bhavesh

+0

мне тоже .... посмотри на мой ответ ... .. просто отлично работает для меня ... –

0

Надеюсь, вы упомянули все ограничения по методу!

- (void)updateViewConstraints 
{ 
    [super updateViewConstraints]; 
    _labelTopSpace.constant = 50; 
} 
0

Попробуйте использовать ниже код ..

[btn setConstraintConstant:50.0 forAttribute:NSLayoutAttributeTop]; 

вы можете заменить баттон с любым Ref, которые, по которым вам, что ограничение, которое нужно модифицировать. {Скажет self.view // если это для просмотра}

в этом случае нет необходимости создавать свойство или IBOulet ссылку на ваш Constraint ..

вы не можете напрямую изменить, как указано выше ..

Надеюсь, это полезно для вас как альтернативное решение ...!

Смежные вопросы