2017-05-10 1 views
0

i machen Einschränkungen wie dieseWie kann ich sofort nach dem Gebrauch die richtige Höhe erreichen?

[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); 
    }]; 

und ich will Etikett Höhe wie diese:

[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); 
}); 

, aber ich kann die richtige Höhe nicht sofort erhalten;

drucken Ergebnis wie folgt

height16.000000

dispatch_after height31.500000

Wie kann ich die richtige Höhe sofort nach Gebrauch Mauerwerk erhalten?

Antwort

0

Dies ist, weil Sie Höhe der Ansicht erhalten können, bevor das Layout bestimmt wird. Höhe in viewDidLayoutSubviews() erhalten.

+0

Gibt es irgendeine Möglichkeit, Höhe nicht in viewDidLayoutSubviews() zu bekommen? –

Verwandte Themen