iOS UITextView 文字处理

释放双眼,带上耳机,听听看~!

项目中遇到一个问题,UITextView内容是由两段文字组成的,上下的结构,但是上面或下面的文字过长的话,就会很不友好,直接显示不全,项目经理让我在文字后面加…,省略号。

我的想法是:

1.首先计算UITextView的宽度

2.计算出文字所占的长度,如果长度大于UITextView的宽度,就要做处理。

3.计算UITextView的宽度上最多可以放几个汉字。

4.获取新的字符串

//根据文字的格式,获取文字的size
CGSize size = [model.riskName sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:15.0f]}];
//得到文字的宽度
float width = size.width;
NSString *newRiskName ;
if (width>(ScreenWidth-140)) {
//一个这种格式的字大概占16,所以可以获得文字的最大数量
NSUInteger N = (ScreenWidth -140)/16;
//拼接...
newRiskName = [model.riskName substringToIndex:N-2];
newRiskName = [NSString stringWithFormat:@"%@...",newRiskName];
NSLog(@"newRiskName===%@",newRiskName);
}else {
newRiskName = model.riskName;
}

人已赞赏
iOS文章

iOS 使用内联函数

2020-3-2 14:22:14

iOS文章

ios block

2020-3-2 15:58:32

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索