| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- //
- // RAEditLabelModel.m
- // Apex And Drivers
- //
- // Created by Jack on 2018/6/4.
- // Copyright © 2018年 USAI. All rights reserved.
- //
- #import "RAEditLabelModel.h"
- static const CGFloat SpaceWidth = 10.0f;
- static const CGFloat SpaceHeight = 37.0f;
- @implementation RAEditLabelModel {
- CGFloat _height;
- }
- - (CGFloat)height {
- if (_height <= 0) {
- [self caculateValueHeight];
- }
- return _height;
- }
- - (void)setValue:(NSString *)value {
- _value = value;
-
- dispatch_async(dispatch_get_global_queue(0, 0), ^{
- [self caculateValueHeight];
- });
- }
- - (void)caculateValueHeight {
- CGFloat w = [UIScreen mainScreen].bounds.size.width;
- if (w <= 0) {
- w = CGRectGetWidth([UIScreen mainScreen].bounds);
- }
-
- CGFloat h = [self.value boundingRectWithSize:CGSizeMake(w - SpaceWidth, FLT_MAX)
- options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
- attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14.0f]}
- context:nil].size.height;
- _height = h + SpaceHeight;
- if (_height < 55.0f) {
- _height = 55.0f;
- }
- }
- @end
|