1.实现一个高度自适应的UILable
思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的高度
//实现一个高度自适应的uilabel
UILabel *label2 = [[UILabel alloc] init];
label2.text = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx想想想想想想想想想想想想想想想想想学习学习学习学习";
label2.font = [UIFont systemFontOfSize:13];
label2.frame = CGRectMake((self.view.frame.size.width-200)/2, 100, 200, label2.text.length*13/200*16);
label2.numberOfLines =0;
[self.view addSubview:label2];
根据 label2.text.length*13/200计算出文字占几行然后乘以UILabel的高度加3pt,这里加3是为了确保文字能完全展示出来。一般情况下加3就足够了
2.实现一个宽度自适应的UILable
思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的宽度
//实现一个宽度自适应的uilabel
UILabel *label3 = [[UILabel alloc] init];
label3.text = @"想想想想想想想想想想想想想想想休息休息";
label3.font = [UIFont systemFontOfSize:13];
label3.frame = CGRectMake((self.view.frame.size.width-label3.text.length*13)/2, 200, label3.text.length*16,13);
label3.numberOfLines = 0;
[self.view addSubview:label3];
根据label3.text.length*16计算出UILable的宽度,同样根据字号加上3pt,确保文字能完全展示出来