最新要闻

广告

手机

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

家电

【世界报资讯】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,确保文字能完全展示出来

关键词: