如何在使用砌体后立即获得正确的高度?

时间:2017-05-10 01:55:07

标签: ios objective-c

我制作像这样的约束

    [countDownLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(countDownIcon.mas_right).offset(5);
        make.right.equalTo(headAlertView).offset(-20);
        make.top.equalTo(headAlertView).offset(5);
        make.height.mas_greaterThanOrEqualTo(15);
    }];

我希望得到这样的标签高度:

[self.view layoutIfNeeded];

NSLog(@"height%f", countDownLabel.height);

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    NSLog(@"dispatch_after height%f", countDownLabel.height);
});

但我无法立即获得正确的身高;

打印结果如下

  

height16.000000

     

dispatch_after height31.500000

如何在使用砌体后立即获得正确的高度?

1 个答案:

答案 0 :(得分:0)

这是因为在确定布局之前,您可能会获得视图高度。 在viewDidLayoutSubviews()中获取高度。