动态计算UILabel的高度,宽度,自动换行
来源:互联网 发布:mysql忘记密码 编辑:程序博客网 时间:2024/05/16 09:33
//// ViewController.m// Company_Code_动态计算字体高度和宽度//// Created by 麦子 on 15/8/17.// Copyright (c) 2015年 麦子. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //进行动态获取高度和宽度。必须用这个NSDictionary,不能用NSMutableDictionary这个。怪 // 单行 NSString *str = @"自动计算高度,然后换行,自动计算高度,然后换行,自动计算高度,然后换行,自动计算高度,然后换行,自动计算高度,然后换行,自动计算高度,然后换行,自动计算高度,然后换行,自动计算高度,然后换行,自动计算高度,然后换行"; UIFont *font = [UIFont systemFontOfSize:10.0f]; NSDictionary *attributes = @{ NSFontAttributeName: [UIFont systemFontOfSize:10.0f] }; CGSize size = [str sizeWithAttributes:attributes]; NSLog(@"宽度:%f,高度:%f",size.width,size.height); UILabel *label = [[UILabel alloc] init]; label.frame = CGRectMake(20, 200, size.width, size.height); label.text = str; label.font = font; label.backgroundColor = [UIColor orangeColor]; [self.view addSubview:label]; // 自动计算高度,然后换行 label.lineBreakMode = NSLineBreakByWordWrapping; label.numberOfLines = 0; // 旧版本// CGSize brSize = [str sizeWithFont:font constrainedToSize:CGSizeMake([UIScreen mainScreen].bounds.size.width-60, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping]; CGSize boundSize = CGSizeMake([UIScreen mainScreen].bounds.size.width-100, MAXFLOAT); CGSize brSize = [str boundingRectWithSize:boundSize options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attributes context:nil].size; label.frame = CGRectMake(20, 200, brSize.width, brSize.height); NSLog(@"宽度:%f,高度:%f",brSize.width,brSize.height); // NSStringDrawingTruncatesLastVisibleLine// // 如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。如果指定了NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略。// // NSStringDrawingUsesLineFragmentOrigin// // 绘制文本时使用 line fragement origin 而不是 baseline origin。// // Theorigin specified when drawing the string is the line fragment origin and notthe baseline origin.// // NSStringDrawingUsesFontLeading// // 计算行高时使用行间距。(译者注:字体大小+行间距=行高)// // NSStringDrawingUsesDeviceMetrics// // 计算布局时使用图元字形(而不是印刷字体)。 }- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
0 0
- 动态计算UILabel的高度,宽度,自动换行
- 自动计算UILabel的宽度或则高度
- iOS开发动态计算cell高度或UILabel多行文本计算高度、宽度的技巧
- UILabel的高度和宽度计算
- 动态获取UILabel的高度和宽度
- 动态获取UILabel的高度和宽度
- 动态获取UILabel的高度和宽度
- 动态调整UILabel的高度或宽度
- UILabel 自动高度计算
- UILabel自动换行,自适应高度
- UILabel自动换行+自适应高度
- 动态计算 UILabel 的高度的代码
- iOS NSString 没有去除首尾空格,换行符,空字符--导致UIlabel不能正确计算换行后的动态高度
- ios 文字 控件 自适应 高度 宽度 CustomCell 自适应高度+uilabel自动换行+ UITextView 根据内容自动调整高度
- UILabel自适应里面的文字,自动调整宽度和高度
- UILabel自适应里面的文字,自动调整宽度和高度
- UILabel自适应里面的文字,自动调整宽度和高度
- iPhone:动态获取UILabel的高度和宽度
- SecureCRT登录Linux出现中文乱码问题
- LeetCode257——Binary Tree Paths
- 数据结构--赫夫曼树(最优二叉村)
- 如何将自定义RPM包加入YUM
- 基于Android2.3的车载导航---andorid GPS HAL的移植与分析(by liukun321咕唧咕唧)
- 动态计算UILabel的高度,宽度,自动换行
- 黑马程序员=======总结集合笔记
- 华为OJ(句子逆序)
- 畅谈Perl时间处理函数用法
- POJ 3764 The xor-longest Path(字典树 + 贪心)
- java并发-读书笔记
- 零基础学python-5.4 数字精度与复数
- DOM javascript
- hdoj畅通工程系列题目(accept代码)