IOS开发-实现一个高度自适应的UILabel和一个宽度自适应的UILabel
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,确保文字能完全展示出来