iOS 根据文字内容动态设置宽度与高度
2015-12-23 16:48
573 查看
下面说一下在开发中,遇到的一个简单的文字排版代码片段。
//这是计算 label 根据文字的显示 格式和字数得出的宽高
//这是计算 label 根据文字的显示 格式和字数得出的宽高
- (CGSize) calculateLabelSize:(UILabel *)label{ // 设置Label的字体 HelveticaNeue Courier UIFont *fnt = [UIFont fontWithName:label.text size:label.font.pointSize]; label.font = fnt; // 根据字体得到NSString的尺寸 CGSize size = [label.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:label.font,NSFontAttributeName, nil]]; // 名字的H CGFloat nameH = size.height; // 名字的W CGFloat nameW = size.width; CGSize sizes = CGSizeMake(nameW, nameH); return sizes; }//限制 label 显示的最大宽度和设置显示的样式 【我是懒加载的形式去创建 label,然后重写 get 方法自定义 label 的样式】
- (UILabel *)addRess{ if (_addRess == nil) { _addRess = [[UILabel alloc] init]; _addRess.font = [UIFont systemFontOfSize:9.f]; _addRess.lineBreakMode = NSLineBreakByTruncatingTail; _addRess.numberOfLines = 0; [self.contentView addSubview:_addRess]; } CGSize size = [self calculateLabelSize:_addRess]; _addRess.frame = CGRectMake(_addRess.frame.origin.x, _addRess.frame.origin.y, size.width>=200.f?200.f:size.width, size.height); return _addRess; }小小技术点,可自行 get
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- flash 系统字体显示问题
- C#及WPF获取本机所有字体和颜色的方法
- 谈谈网页设计中的字体应用Font Set
- PDF里的文字显示模糊的解决方法
- 保证可下载的漂亮动作2008奥运比赛项目字体
- C#实现字体旋转的方法
- 网页设计中的 serif 和 sans-serif字体应用
- 优化WordPress的Google字体以加速国内服务器上的运行
- C#实现缩放字体的方法
- ExtJs默认的字体大小改变的几种方法(自己整理)
- 一个实现字体大中小方法的JavaScript代码
- jquery实现实时改变网页字体大小、字体背景色和颜色的方法
- php修改NetBeans默认字体的大小