iOS-文字自适应
2015-12-11 19:26
393 查看
1.自动改变Label的宽和高
2.根据文字信息获取
3.用Masonry布局自适应
不得不再次感叹Masonry!
- (void)createLabel1 { UILabel * label = [[UILabel alloc] initWithFrame:CGRectZero]; label.backgroundColor = [UIColor redColor]; NSString * str = @"自动改变label的宽和高"; label.text = str; //这句话一定要放填充字符串的后面 [label sizeToFit]; [self.view addSubview:label]; }
2.根据文字信息获取
- (void)createLabel { UILabel * label = [[UILabel alloc] initWithFrame:CGRectZero]; label.backgroundColor = [UIColor redColor]; label.font = [UIFont systemFontOfSize:30.0f]; NSString * str = @"计算文本的宽和高"; NSDictionary * attributes = @{NSFontAttributeName : [UIFont systemFontOfSize:30.0f]}; //计算文本的宽高方式一: CGSize textSize = [str sizeWithAttributes:attributes]; //计算文本的宽高方式二: //CGSize textSize = [str boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine attributes:attributes context:nil].size; //根据计算的文本宽高重新设置label的frame值 [label setFrame:CGRectMake(0, 20, textSize.width, textSize.height)]; label.text = str; [label sizeToFit]; [self.view addSubview:label]; }
3.用Masonry布局自适应
- (void)createLabel2 { UILabel * label =[UILabel new]; label.backgroundColor = [UIColor orangeColor]; NSString * str = @"用第三方的Masonry布局好简单"; label.textColor = [UIColor grayColor]; label.text = str; //甚至这一句都不用写 //[label sizeToFit]; [self.view addSubview:label]; //用Masonry去约束label或者button.不设置label或者button的宽高,它会自己计算的。 [label mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.view.mas_left).with.offset(10); make.top.equalTo(self.view.mas_top).with.offset(100); }]; }
不得不再次感叹Masonry!
相关文章推荐
- 当设置个人热点,状态栏变高造成布局出错的处理
- 151211使用Xcode和Instruments调试解决iOS内存泄露
- layer绘制渐变色
- [iOS]邮箱验证
- ARC下会导致内存泄漏的情况
- iOS在控制器中绘制圆形图像,二维码
- [iOS]NSString去除前后空格
- iOS 让图片变模糊
- iOS绘制字符串和图片
- 【iOS】“找不到使用指定主机名的服务器”
- iOS在线播放视频
- iOS核心绘图
- iOS NSURLSession 学习(2)
- iOS系统font 大全
- IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法
- iOS 3DES加密解密(一行代码搞定)
- iOS开发之自定义控制器切换
- IOS动画 (李梦珂)
- iOS开发用正则表达式验证身份证,邮箱,手机号等
- iOS每日一记——————————三方库。。。。