UILabel正常显示省略号的做法
来源:互联网 发布:碧空尽知什么 编辑:程序博客网 时间:2024/05/02 21:20
1.普通的UILabel,通过如下设置文字过长显示不完会显示省略号:
UILabel *lab = [[UILabel alloc] init];lab.frame = CGRectMake(0, 0, 100, 20);lab.numberOfLines = 2;lab.lineBreakMode = NSLineBreakByTruncatingTail;lab.text = @"编译器自动管理内存地址,让程序员更加专注于APP的业务。";
2.带属性attributedText的label,比如带文字间隔功能的Label。在设置完值后需要重新设置一下。
self.titleLabel.lineBreakMode = NSLineBreakByTruncatingTail;
因为label设置了属性,导致lineBreakMode失效了,不能正常获取到行的高度。
-(void)viewDidLoad{ [super viewDidLoad]; UILabel *lab = [[UILabel alloc] init]; lab.frame = CGRectMake(0, 0, 100, 20); lab.numberOfLines = 2; lab.lineBreakMode = NSLineBreakByTruncatingTail; NSString *str = @"编译器自动管理内存地址,让程序员更加专注于APP的业务。编译器自动管理内存地址,让程序员更加专注于APP的业务。编译器自动管理内存地址,让程序员更加专注于APP的业务。”; NSMutableAttributedString * attributedContentStr = [NSMutableAttributedString attributedStringWithString:str Font: [UIFont systemFontOfSize:17] LineSpacing:3 MaxWidth:(kScreenWidth - 120)]; lab.attributedText=attributedContentStr; // 因为label设置了属性,导致lineBreakMode失效了,不能正常获取到行的高度。所以需要重新设置一下才能正常显示省略号。 lab.lineBreakMode = NSLineBreakByTruncatingTail; [self.view addSubview:lab];}/** * 设置带有行间距的文本 * * @param str 文本 * @param font 字号 * @param lineSpacing 行间距 * * @return 属性文本 */+(NSMutableAttributedString *)attributedStringWithString:(NSString *)str Font:(UIFont *)font LineSpacing:(NSInteger)lineSpacing MaxWidth:(CGFloat)w{ if (!str) { str=@""; } NSDictionary *dict = @{NSFontAttributeName: font}; CGSize size = [str sizeWithAttributes:dict]; NSMutableAttributedString * attributeTitleStr = [[NSMutableAttributedString alloc] initWithString:str]; [attributeTitleStr addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, attributeTitleStr.length)]; // 如果大于一行,设置行间距 if(size.width>w){ NSMutableParagraphStyle * paragraphStyle1 = [[NSMutableParagraphStyle alloc] init]; [paragraphStyle1 setLineSpacing:lineSpacing]; [attributeTitleStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle1 range:NSMakeRange(0, [attributeTitleStr length])]; } return attributeTitleStr;}
0 0
- UILabel正常显示省略号的做法
- IOS UILabel单行显示省略号(个人)
- UILabel显示超过5个字符的字符串为前五个字符加省略号
- CSS 控制单行文本和多行文本的显示区域不够存放时使用省略号...来替代的做法
- 如何让UILabel显示多行,并在结尾显示省略号
- 省略号的多行和单行的省略号显示。。。。。
- UILabel显示换行的方法
- UILabel显示换行的方法
- UILabel显示换行的方法
- 显示省略号
- UILabel换行及溢出省略号
- UILabel换行及溢出省略号
- 溢出文本显示省略号的方法
- 使文本显示省略号的样式
- android textview省略号显示的方式
- 超出宽度的内容显示省略号
- CSS设置多余的文本显示省略号
- CSS设置多余的文本显示省略号
- 软件设计师下午考试
- Swift - NSUserDefault的演化
- scrapy中使用xpath遇到的中文问题
- Oracle数据库(十二)触发器
- angularJS Html5 的video src属性
- UILabel正常显示省略号的做法
- OpenGL 笔记
- 完全基于KnockoutJs实现的分页查询
- [BZOJ2096][POI]Pilots
- 1号店分库
- 第一个网路爬虫
- Linux常用命令(转自:http://www.cnblogs.com/laov/p/3541414.html)
- Python sys模块
- JavaScript 数组方法