Label文本换行问题

iOS 码拜 9年前 (2015-05-09) 739次浏览 0个评论
 

我在做的一个应用,需要用一个Label显示较多的文本,这时会出现行末显示不全用“…”省略的情况。因需求限定了字体大小和Label宽度,我想问下如何实现在Label里换行的效果?

换一个控件不就行了
20分
UIlabel里面有有个属性

The maximum number of lines to use for rendering text.

@property(nonatomic) NSInteger numberOfLines

这玩意就是告诉label要多少行。

20分
可以把那么属性设置为0,然后就是让自己去适应。

给个size

CGSize sz = CGSizeMake(0, 0);
sz = [string sizeWithFont:[UIFont systemFontOfSize:14]
   constrainedToSize:sz
   lineBreakMode:UILineBreakModeWordWrap];

计算字符串的size

把这个size给label就可以了。

用TextView 或者ScrollView
还是使用UITextView吧。 UILabel适合于显示少量文本。
NSString *str = @”你要放在为label里的文本”;
CGSize size = [str sizeOfFont:14 constrainedToSize:CGSizeMake(width,10000.0f)lineBreakMode:UILineBreakModeWordWrap];

UILabel *lb = [[UILabel alloc]initWithFrame:CGRectMake(x,y,width,height)];
lb.numberOfLine = 0;
lb.text = str;
lb.font = [UIFont systemFontOfSize:14];
[self.view addSubview:lb];
[lb release];

lb的frame为CGRectMake(x,y,width,size.height)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Label文本换行问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!