ios label根据内容自适应高度
label自适应高度,想必大家也都很熟悉怎么去做,上代码:
UILabel *label3 = [[UILabel alloc]initWithFrame:CGRectMake(150, 50, 150, 0)];
label3.font = [UIFont systemFontOfSize:15];
label3.backgroundColor = [UIColor yellowColor];
label3.numberOfLines = 0;
label3.text = str;
CGSize size = [label3 sizeThatFits:CGSizeMake(label3.frame.size.width, MAXFLOAT)];
label3.frame = CGRectMake(label3.frame.origin.x, label3.frame.origin.y, label3.frame.size.width, size.height);
NSLog(@"label3.frame = %@",NSStringFromCGRect(label3.frame));
[self.view addSubview:label3];
但是这个地方有点小问题,###1:我不知道大家处理的习惯(比较菜,勿喷),我比较习惯把处理UI的逻辑和赋值的逻辑分开,那么就会有这样的代码
- (void)viewDidLoad {
[super viewDidLoad];
[self initUI];
self.label.text = @"啥都不是较好的发布会绝对是部分谁看见对方比较快速的步伐会尽快";
}
-(void)initUI
{
self.label = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 100, 30)];
self.label.numberOfLines = 0;
self.label.textColor = [UIColor blackColor];
CGSize size = [self.label sizeThatFits:CGSizeMake(self.label.frame.size.width, MAXFLOAT)];
self.label.frame = CGRectMake(self.label.frame.origin.x, self.label.frame.origin.y, self.label.frame.size.width, size.height);
[self.view addSubview:self.label];
}
但是运行后你会发现,什么也没有!打印label.frame--- label[18169:1891997] {{10, 100}, {100, 0}} 这是因为我们在initUI方法中并没有给label赋值,那么label的高度默认为0了,所以处理自适应的时候只能在赋值之后再进行自适应的操作。
第二个问题:如果我们有那种对齐的需求的话,如果文字比较少,那么可能会出现文字偏上的效果,这时候我们可以在自适应后,根据label高度判断,修改其高度。如下:
self.titleL.text = model.cooperationInverseVO.ipDemandtitle;
CGSize size = [self.titleL sizeThatFits:CGSizeMake(self.titleL.frame.size.width, MAXFLOAT)];
self.titleL.frame = CGRectMake(self.titleL.frame.origin.x, self.titleL.frame.origin.y, self.titleL.frame.size.width, size.height);
self.titleL.textColor = [UIColor colorWithHexString:@"#666666"];
///如果高度不足一行 强制为原来一行的高度
if (self.titleL.hb_height < cellHeight) {
self.titleL.hb_height = cellHeight;
}
ios label根据内容自适应高度的更多相关文章
- IOS UILabel 根据内容自适应高度
iOS Label 自适应高度 适配iOS7以后的版本 更多 self.contentLabelView = [[UILabel alloc] init]; self.contentLabelVie ...
- Jquery实现textarea根据文本内容自适应高度
本文给大家分享的是Jquery实现textarea根据文本内容自适应高度,这些在平时的项目中挺实用的,所以抽空封装了一个文本框根据输入内容自适应高度的插件,这里推荐给小伙伴们. autoTextare ...
- html5 textarea 文本框根据输入内容自适应高度
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- iOS:解决UITextView自适应高度粘贴大量文字导致显示不全的问题
一.描述 在UITextView输入框中粘贴大量的文字时,UITextView内容自适应高度计算出现误差,导致整块文字上移消失. 二.方案 在UITextView文字改变的监听中添加如下方法即可. [ ...
- iOS UIWebView 获取内容实际高度,关闭滚动效果
本文转载至 http://my.oschina.net/Khiyuan/blog/341535 iOS UIWebView 获取内容实际高度,关闭滚动效果 近期做东西,将 UIWebView 嵌套 ...
- iframe 随内容自适应高度
兼容性好的 html代码: <iframe src="enterprise/enter_edit.aspx" id="mainframe" framebo ...
- iframe内容自适应高度
一直觉得要用JS才能实现iframe高度的自适应,其实CSS也可以,而且实现的更好,只是需要给包裹iframe的DIV设置个高度,然后让irame高度设置成100%就可以自适应了. 完美版Iframe ...
- MiniUi遇到的一个Bug或者说坑,以div里面的内容自适应高度
页面源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...
- iOS开发-UITextView根据内容自适应高度
UITextView作为内容文本输入区域,有的时候我们需要根据内容动态改变文本区域的高度,效果如下: 定义UITextView,实现UITextViewDelegate: -(UITextView * ...
随机推荐
- 快排算法Java版-每次以最左边的值为基准值手写QuickSort
如题 手写一份快排算法. 注意, 两边双向找值的时候, 先从最右边起找严格小于基准值的值,再从最左边查找严格大于基准base的值; 并且先右后左的顺序不能反!!这个bug改了好久,233~ https ...
- vs code 搭建java maven springboot环境
Java Extension Pack,Maven for Java,Spring Boot Extension Pack https://blog.csdn.net/qq_26026975/arti ...
- 通过ip找mac
# coding:utf-8 import os cmd = {'arp': 'arp -a | find "', 'route': 'route PRINT ' } def win_mac ...
- linux sed 批量替换文件中的字符串或符号
sed -i :直接修改读取的文件内容,而不是输出到终端. sed -i 就是直接对文本文件进行操作的 替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件 ...
- Open Source Isn't A Business Model, It's A Market Strategy
https://www.forbes.com/sites/quora/2017/09/29/open-source-isnt-a-business-model-its-a-market-strateg ...
- 吉首大学2019年程序设计竞赛(重现赛)D - 数列求和(嘤雄难度)
链接:https://ac.nowcoder.com/acm/contest/992/D $a_{i}=\dfrac {3a_{i-1}-a_{i-2}}{2}+i+1$ 移项再化一下 $a_{i}- ...
- 01背包问题(dfs+剪枝)
01背包问题 dfs解法 #include <iostream> #include <cstring> #include <algorithm> #include ...
- LeetCode 988. Smallest String Starting From Leaf
原题链接在这里:https://leetcode.com/problems/smallest-string-starting-from-leaf/ 题目: Given the root of a bi ...
- webpack提高打包速度
通过使用插件和配置插件的参数. 1. 打包速度分析 首先通过speed-measure-webpack-plugin分析打包的各个插件和loader的耗时.然后具体问题,具体分析. 按照插件 npm ...
- learning java 使用WatchService监控文件变化
import java.io.IOException; import java.nio.file.*; public class WatchServiceTest { public static vo ...