如何从故事板设置约束后立即修改约束?

时间:2015-01-29 07:58:48

标签: ios objective-c storyboard autolayout nslayoutconstraint

我需要知道如何在从storyboard或nib加载后修改约束。

例如在故事板中我放置了5个视图。在视图控制器加载数据时的代码中,此视图的位置基于数据。那么有一个我可以添加到控制器的方法吗?我认为awakeFromNib会继续工作,但事实并非如此。或者也许我错了。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为这就是地方:initWithCoder

或者

数据进入后,您可以致电:

 [self setNeedsUpdateConstraints];

然后你需要实现

 - ( void ) updateConstraints

但您也可以在代码中创建所有约束,只添加特定数据所需的约束。

我所做的是:(可能是代码拼写错误,但是输入了xCode;)

@interface ...
@property (assign, nonatomic) BOOL update;
@end

- ( void ) whatever {
    _update = YES;
    [self setNeedsUpdateConstraints];
}

- ( void ) updateConstraints {
    [super updateConstraints];

    if( _update ) {
        _update = NO;

       ....CONSTRAINTS...
    }
}