UILabel的高度(height)自适应文字内容(text)

方法一

首先计算出字符串在已知宽度的View中的size,然后改变View的size就可以。

示例代码如下:

#define IOS7_OR_LATER   ( [[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending )

CGSize size;
NSString *strTail = @"allColorDictallColorDictallColorDtallColorDictallC";
UIFont *font = [UIFont systemFontOfSize:15.0f];
NSDictionary *attribute = @{NSFontAttributeName: font};
if (IOS7_OR_LATER) {
    size = [strTail boundingRectWithSize:self.view.frame.size
                                       options:
                  NSStringDrawingTruncatesLastVisibleLine|
                  NSStringDrawingUsesLineFragmentOrigin|
                  NSStringDrawingUsesFontLeading
                                    attributes:attribute
                                       context:nil].size;
}else{
    size = [strTail sizeWithFont:font constrainedToSize:CGSizeMake(300, 30)];
}

方法二

利用UIView的sizeToFit方法,设置好字体大小,文字内容之后调用即可,size自动就会变化,我们自然也就知道size是多少了,比较方便。

示例代码如下:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

label.text = @"tallColorDictallColorDictallColorDictallColorDictallColorDtallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorDictallColorD";
[label sizeToFit];
[self.view addSubview:label];

效果如图

时间: 2024-10-11 06:31:14

UILabel的高度(height)自适应文字内容(text)的相关文章

设置UILabel可变高度(根据文本内容自动适应高度)

@property(nonatomic)UILabel *showLabel; // 计算文本所占高度,计算出来之后设置label的高度 // 第一个参数:字体大小,字体大小/样式影响计算字体的高度 // 第二个参数:CGSize结构体,结构体中第一个参数表示宽度,宽度的设置影响计算文本的高度,很明显越宽,高度越小:结构体中第二个参数表示最大能有多高,比如我们写为100,那么即使文本高度计算出来是200, 这个方法也会返回100, 所以一般情况下我们把它写为MAXFLOAT, 表示能有多高返回多

关于怎么让div宽度自适应文字内容?

<div class="divbotuser" > <h2 style="text-align: center;width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;" > <img style="border:1px solid #ddd;width:35px;height:35px;" src="http://wx4.sin

IOS 开发中 TableView的文本Cell高度的自适应,UILabel自动换行适应

最后的运行效果: 需求: 1.表格里的UILable要求自动换行 2.创建的tableViewCell的高度会自动适应内容的高度 一.用xcode构建项目,创建一个有tableView的视图,用纯代码的形式实现: 1.创建一个UIViewController类,定义一个UITableView,实现TableView的委托和数据源协议 // //  TableViewController.h //  AdaptiveCell // //  Created by swinglife on 14-1-

Android 让GridView的高度为Wrap_content根据内容自适应高度

From:http://www.jayway.com/2012/10/04/how-to-make-the-height-of-a-gridview-wrap-its-content/ 如果把GridView放到一个垂直方向滚动的布局中,设置其高度属性为 wrap_content ,则该GridView的高度只有一行内容,其他内容通过滚动来显示. 如果你想让该GridView的高度为所有行内容所占用的实际高度,则可以通过覆写GridView的 onMeasure 函数来修改布局参数: packa

iOS 【终极方案】精准获取webView内容高度,自适应高度

前言:是这样的,刚写完上一篇文章还没缓过神来,上一篇文章我还提到了,想和大家聊聊原生+H5如何无缝连接的故事.结果我朋友就给我发了两篇他的作品.他的做法也都有独到之处.好的文章都是这样,让你每次看都能有新的收获,我们也都致力于写一些能帮别人解决问题的文章,下面我用另一种方式来完美实现这个问题.毕竟之前大家都是根据UIWebView写的,我来说说换成WK之后的区别,主题思路也不同哦~ 插两个链接,是我朋友的大家也可以做个对比 iOS [终极方案]精准获取webView内容高度,自适应高度 iOS

文字在div中垂直居中的方法,设置div的高度height和行高line-height一致

文字在div中垂直居中的方法,设置div的高度height和行高line-height一致,如 .containerdiv{ height:60px; line-height:60px; }

swift UILabel的高度自适应

let label = UILabel.init() label.backgroundColor = UIColor.grayColor() label.text = "1234567890-edfdgddffgfgfggfggddfbyfru6y6r7iuymgnjnrtfugyu57t6injyunjokn89uilmghbjl,hknjlllllllllllllllllllllllllllllllllllllmimomomkjnijunbuygbtyfrtdrxcresxweaswa&qu

css自适应高度下垂直居中文字

****  首先讲讲ionic下的样式设置,ionic下是按功能将样式作用域划分成模块,模块内元素对应父模块的样式,而再是全局body...继承了  **** 1.关于css自适应高度下垂直居中文字,非定位类(position会影响性能,能优则优)的方法实现 : 分析:使用vertical-align方法可以使元素垂直居中,但是只是针对支持vertical的元素,如table .td 等,div和span是不支持的,所以要模拟table元素. --->   父元素设置display : tabl

解决viewpager+多个fragment+listview,listview展示内容高度不自适应出现多余空白问题

一.重写viewpager import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.widget.LinearLayout; import java.util.HashMap; import