关于UILabel设置AttributedString以后末尾...不出现的问题

UILabel我们都知道在内容盛不下的时候末尾就会显示...

但是当你给UILabel设置AttributedString的时候就会发现,虽然内容盛不下,但是最后的...也是没有的

这可能是AttributedString设置以后UILabel原本的设置就不生效了(包括字体,字体颜色等属性)

如果你想要显示...如要手动再给UILabel设置截断模式

NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"伦敦的地标建筑之一是一条横跨泰晤士河的大桥,于1984年通车.桥的升降过去采用蒸汽机结构.桥的打开为了让高的船通过的景象wgqrgqwrfrgqwe"];

    NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
    label.numberOfLines = 0;
    //paragraph.lineSpacing = 20;
    //paragraph.paragraphSpacing = 20;
    NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:17.0f],NSParagraphStyleAttributeName:paragraph};
    [string addAttributes:attributes range:NSMakeRange(0, string.length)];
    [label setAttributedText:string];
    label.lineBreakMode = NSLineBreakByTruncatingTail;

在设置完AttributedText之后设置lineBreakMode才会生效,如果你在后续的代码中重新设置了AttributedText,那你需要重新设置lineBreakMode,否则Label的lineBreakMode会被覆盖掉,不出现...

如果你嫌上面的方法麻烦,还有一种解决方式就是使用

NSMutableParagraphStyle里面也有一个lineBreakMode也可以设置截断模式,这个是直接添加在AttributedString里面的,所以不需要设置UILabel的lineBreakMode了

关于UILabel设置AttributedString以后末尾...不出现的问题

时间: 2024-10-11 05:15:25

关于UILabel设置AttributedString以后末尾...不出现的问题的相关文章

UILabel设置行间距

UILabel设置行间距: NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:contentLabel.text]; NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStylealloc]init]; [paragraphStyle setLineSpacing:5]; [attri

UILabel设置行间距和字间距并计算高度-b

#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabel设置行间距和字间距 -(void)setLabelSpace:(UILabel*)label withValue:(NSString*)str withFont:(UIFont*)font { NSMutableParagraphStyle *paraStyle = [[NSMutablePara

UILabel设置圆角无效

原文链接: UILabel设置圆角无效 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

猫猫学iOS之UILabel设置圆角不成功所做调控更改

原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 如图问题 如图是我要做的效果 然而当我写好代码后,设置号label的layer圆角后是这样的 崩溃.. 解决 百度后知道解决方法,原来少了一行代码 cell.textLabel.text = @"检查更新"; UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(NYScreenW - 145, 9, 115,

自定义UILabel设置垂直方向的居上,居中,居下

IOS系统框架中UILabel的属性textAlignment只调整水平方向的居中,居左,居右,而没有垂直方向的调整.所以要自定义一个继承自UILabel的类,在类的实现文件中进行文字的重绘,达到垂直方向的位置调整. 新建一个类文件,继承自UILabel,头文件如下: #import <UIKit/UIKit.h> typedef NS_ENUM(NSInteger,VerticalAlignment){ VerticalAlignmentTop, VerticalAlignmentMiddl

iOS的UILabel设置居上对齐,居中对齐,居下对齐

在iOS中默认的UILabel中的文字在竖直方向上只能居中对齐,我从UILabel继承了一个新类,实现了居上对齐,居中对齐,居下对齐.具体如下: 1.新建一个类VerticalAlignmentLabel.h继承自UILabel 2. // //  VerticalAlignmentLabel.h //  inface // //  Created by huangzengsong on 15/5/10. //  Copyright (c) 2015年 huangzs. All rights r

UIlabel设置不同的颜色

NSString *string = @"注册过程中出现问题,致电400-650-5167联系会养车工作人员";    NSRange range = [string rangeOfString: @"400-650-5167"];    NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString: string];    [attribute ad

UILabel 设置字体间的距离 和 行与行间的距离

//设置字间距 [self.label setColumnSpace:5]; //设置行间距 [self.label setRowSpace:5];

UILabel设置行间距等属性:

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:contentLabel.text];; NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init]; [paragraphStyle setLineSpacing:5]; [attributedString