Heim > Fragen und Antworten > Hauptteil
oc 如何获得用 Masonry 约束好的宽度?
例子:
/// 怎样获取里面约束好的 45 呢?请问!!
[self.choseCityBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(@(12));
make.width.equalTo(@(45));
make.height.equalTo(@(24));
make.centerY.equalTo(@(navCenterY));
}];
高洛峰2017-04-18 09:45:42
在View里
- (void)layoutSubviews {
[super layoutSubviews];
// 获取到约束后的控件frame
}
在controller里
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
// 获取到约束后的控件frame
}
参考资料: https://github.com/SnapKit/Ma...
其他资料: http://elijahdou.github.io/ui...
巴扎黑2017-04-18 09:45:42
把45提取出来作为一个变量
所有通过masonry加载约束,可以通过
NSArray *installedConstraints = [MASViewConstraint installedConstraintsForView:self.choseCityBtn]
获得。
然后你循环遍历数组,找到你要的那个约束就好了