根据字符长度动态确定UIlabel宽高
2015-12-07 09:48
357 查看
iOS7中用以下方法
- (CGSize)sizeWithAttributes:(NSDictionary *)attrs;
替代过时的iOS6中的- (CGSize)sizeWithFont:(UIFont
*)font 方法
iOS7中用以下方法boundingRectWithSize:options:attributes:context:替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法
- (CGSize)sizeWithAttributes:(NSDictionary *)attrs;
替代过时的iOS6中的- (CGSize)sizeWithFont:(UIFont
*)font 方法
// iOS7_API_根据文字 字数动态确定Label宽高 // 设置Label的字体 HelveticaNeue Courier UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:24.0f]; _nameLabel.font = fnt; // 根据字体得到NSString的尺寸 CGSize size = [_nameLabel.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil]]; // 名字的H CGFloat nameH = size.height; // 名字的W CGFloat nameW = size.width; _nameLabel.frame = CGRectMake(0, 0, nameW,nameH);
iOS7中用以下方法boundingRectWithSize:options:attributes:context:替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法
// 4,根据正文内容多少,动态确定正文content的frame // 宽度W CGFloat contentW = self.bounds.size.width - _content.frame.origin.x - kMargin; // label的字体 HelveticaNeue Courier UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:18.0f]; _content.font = fnt; _content.numberOfLines = 0; _content.lineBreakMode = NSLineBreakByWordWrapping; // iOS7中用以下方法替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法 CGRect tmpRect = [_content.text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil]; // 高度H CGFloat contentH = tmpRect.size.height; NSLog(@"调整后的显示宽度:%f,显示高度:%f"contentW,contentH); _content.frame = CGRectMake(0, 0, contentW,contentH);
相关文章推荐
- Code Forces 601 B. Lipshitz Sequence(单调栈)
- iOS设置UIImage的渲染模式:UIImage.renderingMode
- iOS开发-UI控件:日历选取控件
- Android开发-UI控件:Fragment 真正的完全解析(上)
- Android开发-UI控件:实现登陆页面并跳转和简单的注册页面
- UITabBarController
- Hibernate:Query接口中list和iterator区别
- iOS之UI--微博个人详情页
- jboss5+EJB3+MDB Queue
- 第六章 用堆栈视图(Stack Views)来设计UI
- MUI 框架微信支付
- UVA-1626 Brackets sequence
- UESTC 1252 24点游戏 DFS
- Parquet_11. Spark: DataFrames 和 Parquet -- 待完善
- Parquet_10. Spark & Parquet -- 待完善
- CGContextRef UI界面美化
- Parquet_9. 将CSV 文件转换成 Parquet 格式 -- 待完善
- 3.创建简单的UI-Google官网上的Android初学训练
- 将字符串转换成uniqueidentifiter类型时出错
- iOS"Request failed: unacceptable content-type: tex