根据字符串长度 算label高度
- (void)viewDidLoad {
[super viewDidLoad];
NSString *str = @"delegate与block一般是用与两个对象1对1之间的通信交互,delegate需要定义协议方法,代理对象实现协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如协议方 法,并且需要建立代理关系才能实现通信。block更加简洁,不需要定义繁琐的协议方法,但是如果通信事件比较 多的话,建议使用delegate。Notification主要用于1对多的情况下通信,而且对象之间不需要建立关系,但是使用 。";
CGFloat ScreenW = [[UIScreen mainScreen] bounds].size.width;
CGFloat labelX = 10;
CGFloat labelY = 100;
CGFloat labelW = (ScreenW - labelX*2);
CGFloat labelH = [self getStrSize:str andTexFont:[UIFont systemFontOfSize:17] andMaxSize:CGSizeMake(labelW, MAXFLOAT)].height;
UILabel *myLable =[[UILabel alloc] initWithFrame:CGRectMake(labelX, labelY, labelW, labelH)];
myLable.numberOfLines = 0;
myLable.text = str;
myLable.backgroundColor = [UIColor orangeColor];
[self.view addSubview:myLable];
}
- (CGSize)getStrSize:(NSString *)textStr andTexFont:(UIFont *)font andMaxSize:(CGSize)maxSize
{
NSDictionary *textAttDict = @{NSFontAttributeName : font};
return [textStr boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:textAttDict context:nil].size;
}