自动适配文字高度

- (UILabel *)titleL{

if(_titleL ==nil){

_titleL = [[UILabel alloc] init];

/**设置文字*/
        [_titleL setText:self.myMessModel.content];
        [_titleL setTextAlignment:NSTextAlignmentLeft];

//文字颜色
        [_titleL setTextColor:[self.Skin getCellTitleColor]];
          _titleL.numberOfLines = 0; //多行

//设置格式
        NSStringDrawingOptions options =  NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading;
        [_titleL setFont:[self.Skin getDefaultTextFont]];

//SCREEN_SIZE.width 屏幕的宽度   WJ_HOME_LEFT_RIGHT_GAP间隙  MAXFLOAT 最大高度
        CGRect contentRect = [_titleL.text boundingRectWithSize:CGSizeMake(SCREEN_SIZE.width - 2*WJ_HOME_LEFT_RIGHT_GAP, MAXFLOAT) options:options attributes:@{NSFontAttributeName:         [self.Skin getDefaultTextFont]} context:nil];
        [_titleL setFrame:CGRectMake(WJ_HOME_LEFT_RIGHT_GAP, CGRectGetMaxY(self.timeL.frame), contentRect.size.width, contentRect.size.height)];

}

return _titleL;

}

时间: 2024-10-05 04:41:22

自动适配文字高度的相关文章

uitable单元格高度自动适配

uitable单元格高度自动适配的前提是你要开启auto layout选项,不明白或者不熟悉的同学先看看这里 http://lvwenhan.com/ios/430.html 按照很多用例上的步骤,不想却踩了坑: 1,禁止实现代理函数 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 2,然后实现 - (CGFloat)tableView:(UITable

【译】UI设计基础(UI Design Basics)--自动适配与布局(Adaptivity and Layout)(四)

2.3  自动适配与布局(Adaptivity and Layout) 2.3.1  开发成自动适配(Build In Adaptivity) 用户通常希望在自己的所有设备,各种场景中使用他们喜欢的app.比如不同设备的不同方向以及在iPad上的分屏.尺寸类型(Size Classes)和自动布局(Auto Layout)可以通过定义屏幕的布局,视图控制器以及视图在屏幕显示环境变化时该如何适配帮你实现这个愿望.(这里的“显示环境”可以是整个屏幕也可以是屏幕中的一部分,如弹出框里面的部分或iPad

iOS根据图片名进行自动适配(通过类别实现)

在实际开发应用中,美工通常都会根据不同的机型设计出很多套背景图片,而这些背景图片的命名通常都是有规律的,我们刚好可以利用这一特点把图片名称的修改或者拼接写成一个方法,然后根据不同的机型返回不同的适配图片,即可达到自动适配的目的,且避免了图片的失真. 首先,为NSString新建立一个分类,专门用来在图片名后面拼接对应的屏幕信息 #import "NSString+append.h" @implementation NSString (append) -(NSString *)fileN

基于MVC+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度

在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是使用的人员计算机的屏幕分辨率可能不一样,因此导致有些地方显示太大或者太小,总是不能达到好的预期效果,如果DataGrid能够根据窗口尺寸进行伸缩,效果应该好很多.本文主要介绍DataGrid控件实现自动适应宽带高度的操作. 首先我们需要定义一个resizeDataGrid的扩展函数,方便在页面里面进行调用,扩展函数定义如下所示. //datagrid宽度高度自动调整的函数 $.fn.exten

基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度

在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是使用的人员计算机的屏幕分辨率可能不一样,因此导致有些地方显示太大或者太小,总是不能达到好的预期效果,如果DataGrid能够根据窗口尺寸进行伸缩,效果应该好很多.本文主要介绍DataGrid控件实现自动适应宽带高度的操作. 首先我们需要定义一个resizeDataGrid的扩展函数,方便在页面里面进行调用,扩展函数定义如下所示. //datagrid宽度高度自动调整的函数 $.fn.exten

iOS - 屏幕适配-之自动适配

最近把xcode升级到7,然后就是各种蛋疼的问题,出现,期中有一个就是屏幕适配的问题,由于 我的项目比较老,所以,一直没怎么注意过屏幕适配,都是ios 自动适配,这在ios8 之前都没有问题,但是在ios9后,这个问题就出现了,启动程序后,,出现上下边黑屏,找了些资料,弄明白: 从Xcode6 GM版本开始,模拟器新增了iPhone6和iPhone6 Plus两种,如果旧的工程直接跑到这两个模拟器中时,默认是"兼容模式",即系统会简单的把内容等比例放大,显示效果有些模糊但尚可接受.此时

【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)

关于AutoLayout,最早从iOS6开始引入使用. 主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换. 网上大量的资料都在介绍xib和storyboard,如何使用AutoLayout,说纯代码使用AutoLayout进行UI布局的越来越少.对于我这个习惯了代码UI布局的人,写个备忘: AutoLayout是什么? 使用一句Apple的官方定义的话 AutoLayout是一种基于约束的,描述性的布局系统. Auto Layout Is a Constraint-Based, De

自动设置iframe高度和禁止backspace后退js

function iFrameHeight(iframeId) {        var ifm = document.getElementById(iframeId);        var subWeb = document.frames ? document.frames[iframeId].document                : ifm.contentDocument;        if (ifm != null && subWeb != null) {      

无法修改标注样式中文字高度

有时候标注样式中的文字高度是无法修改的,如下图. 解决方法十分简单,将所选文字样式的默认文字高度设为0.