精华内容
下载资源
问答
  • 在DIV和CSS进行网页布局中,DIV的自适应高度和自适应宽度是一个很常见的问题,本文将介绍左右自适应高度一致的Jquery与DIV高度自适应屏幕的js
  • 在做项目的时候发现从网上获取数据的时候在填充UILabel的时候需要UILabel自适应高度。这个问题其实很简单,只需要在storyboard里设置UILabel的高度,行数和lineBreakMode就可以了。但是因为TableViewCell的高度要...

    在做项目的时候发现从网上获取数据的时候在填充UILabel的时候需要UILabel自适应高度。这个问题其实很简单,只需要在storyboard里设置UILabel的高度,行数和lineBreakMode就可以了。但是因为TableViewCell的高度要根据Label的高度进行调节,所以这个我纠结了三天才终于做好。我的做法是这样的:

    首先UILabel自适应高度:


    首先如图设置lines为0,breakmode未word wrap,然后设置label的constraints中高度,因为我这里显示一行的高度是21,所以我在constraints中设置高度为21


    然后设置constraint为height>=21


    这样就做到了UIlabel的高度自适应。在接下来做UITableViewCell自适应的时候我们需要根据label的高度来调节cell的高度所以我们需要设置cell的高度,IOS有提供

    CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)函数来确定每一个cell的高度。我开始只是返回了label得高度,但是因为label是作为cell的subview,但是cell并没有设置成为根据subview调整的模式,所以后来显示的就是cell永远是21的高度,而label的高度远远超过cell。开始我并不知道为什么后来调用了setNeedsLayout和layoutIfNeeded方法,问题得到了解决。

    代码是这样的:

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
        return [self heightForBasicCellAtIndexPath:indexPath];
    }
    
    - (CGFloat)heightForBasicCellAtIndexPath:(NSIndexPath *)indexPath {
        static UITableViewCell *sizingCell = nil;
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            sizingCell = [self.tableView dequeueReusableCellWithIdentifier:@"commentCell"];
        });
        //NSLog(@"1");
        [self configureBasicCell:sizingCell atIndexPath:indexPath];
        [sizingCell setNeedsLayout];
        [sizingCell layoutIfNeeded];
        //CGSize size = [sizingCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
        UILabel *label=[sizingCell viewWithTag:3];
       // NSLog(@"label-height:%f",label.frame.size.height);
        //NSLog(@"cell-height:%f",size.height);
        return label.frame.size.height+label.frame.origin.y+5.0;
    }
    
    - (void)configureBasicCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
        NSDictionary *dict = _comments[indexPath.row];
        UILabel *label=[cell viewWithTag:1];
        label.text=[dict objectForKey:@"username"];
        label=[cell viewWithTag:2];
        NSDateFormatter *formatter=[[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
        [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
        NSDate *created_time=[formatter dateFromString:[dict objectForKey:@"created_at"]];
        [formatter setDateFormat:@"yyyy年MM月dd日"];
        label.text=[formatter stringFromDate:created_time];
        label=[cell viewWithTag:3];
        NSString *ltext;
        if(![[dict objectForKey:@"is_parent_comment"] boolValue]){
            ltext=[NSString stringWithFormat:@"回复%@: %@",[dict objectForKey:@"parent_username"],[dict objectForKey:@"body"]];
        }
        else{
            ltext=[NSString stringWithFormat:@"%@说: %@",[dict objectForKey:@"username"],[dict objectForKey:@"body"]];
        }
        label.text=ltext;
        //NSLog(@"label height:%f",label.frame.size.height);
    }
    其中最重要的就是计算label的高度和下面这两句。
    [sizingCell setNeedsLayout];
    [sizingCell layoutIfNeeded];
    展开全文
  • layer.open自适应高度方式一:如下,可有效防止高度超出可视范围layer.open({skin : 'layui-layer-molv',type : 1,title : '预览',area : ['640px', '95%'], // 高度设置为95%,防止超出可视范围shade : 0.8, // 遮罩层...

    layer.open自适应高度

    方式一:如下,可有效防止高度超出可视范围

    layer.open({

    skin : 'layui-layer-molv',

    type : 1,

    title : '预览',

    area : ['640px', '95%'], // 高度设置为95%,防止超出可视范围

    shade : 0.8, // 遮罩层透明度

    id : 'LAY_layuipro', //设定一个id,防止重复弹出

    resize : false, //是否允许拉伸

    btn : ['关闭'],

    btnAlign: 'r',

    moveType : 1, //拖拽模式,0或者1

    content : 'html内容',

    yes: function (index) {

    layer.close(index);

    }

    });

    方式二:完全自适应高度,当数据过长时,可能会超出可视范围

    layer.open({

    skin : 'layui-layer-molv',

    type : 1,

    title : '预览',

    area : ['640px'], // 自适应高度

    shade : 0.8, // 遮罩层透明度

    id : 'LAY_layuipro', //设定一个id,防止重复弹出

    resize : false, //是否允许拉伸

    btn : ['关闭'],

    btnAlign: 'r',

    moveType : 1, //拖拽模式,0或者1

    content : 'html内容',

    yes: function (index) {

    layer.close(index);

    }

    });

    展开全文
  • 自适应高度

    2015-08-11 09:43:33
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ NSString * labelStr = @“这是UILabel”; CGSize labelSize = {0, 0}; labelSize = [labelStr sizeWithFont:...

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

    {

    NSString * labelStr = @“这是UILabel”;

    CGSize labelSize = {0, 0};

    labelSize = [labelStr sizeWithFont:[UIFont systemFontOfSize:14]

    constrainedToSize:CGSizeMake(200.0, 5000)

    lineBreakMode:UILineBreakModeWordWrap];

    //14 为UILabel的字体大小

    //200为UILabel的宽度,5000是预设的一个高度,表示在这个范围内


    return labelSize.height + delta;

    //delta 是Cell除了自适应控件UILabel外的其它控件所占的高度。


    }

    展开全文
  • layer.open自适应高度方式一:如下,可有效防止高度超出可视范围layer.open({skin : ‘layui-layer-molv‘,type : 1,title : ‘预览‘,area : [‘640px‘, ‘95%‘], // 高度设置为95%,防止超出可视范围shade : 0.8, /...

    layer.open自适应高度

    方式一:如下,可有效防止高度超出可视范围

    layer.open({

    skin : ‘layui-layer-molv‘,

    type : 1,

    title : ‘预览‘,

    area : [‘640px‘, ‘95%‘], // 高度设置为95%,防止超出可视范围

    shade : 0.8, // 遮罩层透明度

    id : ‘LAY_layuipro‘, //设定一个id,防止重复弹出

    resize : false, //是否允许拉伸

    btn : [‘关闭‘],

    btnAlign: ‘r‘,

    moveType : 1, //拖拽模式,0或者1

    content : ‘html内容‘,

    yes: function (index) {

    layer.close(index);

    }

    });

    方式二:完全自适应高度,当数据过长时,可能会超出可视范围

    layer.open({

    skin : ‘layui-layer-molv‘,

    type : 1,

    title : ‘预览‘,

    area : [‘640px‘], // 自适应高度

    shade : 0.8, // 遮罩层透明度

    id : ‘LAY_layuipro‘, //设定一个id,防止重复弹出

    resize : false, //是否允许拉伸

    btn : [‘关闭‘],

    btnAlign: ‘r‘,

    moveType : 1, //拖拽模式,0或者1

    content : ‘html内容‘,

    yes: function (index) {

    layer.close(index);

    }

    });

    展开全文
  • 当前窗口自适应高度:this.height=this.contentWindow.document.body.scrollHeight 子窗体窗口自适应高度: window.parent.document.getElementById("rtFrame").height=document.body.scrollHeight; ...
  • 使用JAVASCRIPT控制Textarea内容自适应高度,实施起来很简单,很平滑。
  • RecyclerView自适应高度

    千次阅读 2018-05-03 11:40:56
    近期代码中需要用到recyclerview自适应高度的功能,其自适应高度并不能像gridview或者listview那样自定义view,而是应该用自定义layoutmanager来进行控制** * Created by $ Ping.sir on 2018/5/3. * recyclerView...
  • iframe自适应高度,多层嵌套iframe自适应高度的解决方法 在页面无刷新更新方面,虽然现在的ajax很强悍,但是处理代码相对多点。想比之下,iframe就简单多了!处理iframe的自适应宽、高,会经常用到,网上整理了一份...
  • 1. div自适应内容: 由于div里的内容常常会发生变化,...2. 屏幕自适应高度:同div自适应高度一样,有时页面的内容或多或少,甚至没有,而页面存在底部footer,如果不自适应屏幕高度,内容过少,会导致footer跑到页面...
  • textview自适应高度
  • 主要介绍了使用javascript实现Iframe自适应高度,需要的朋友可以参考下
  • 脚本控制自适应高度的缩短问题
  • 主要介绍了jquery实现文本框textarea自适应高度的相关资料,需要的朋友可以参考下
  • textarea自适应高度

    2019-09-25 00:28:06
    --textarea自适应高度--> <h3>textarea自适应高度</h3> <textareastyle='border:1pxsolid#94BBE2;width:100%;'rows=15onpropertychange='this.style.posHeight=this.scrollHeight'id=t...
  • cell自适应高度

    2016-01-22 19:29:43
    label自适应高度、cell自适应高度 (使用XIB、storyboard)
  • listview自适应高度

    千次阅读 2016-09-08 11:40:05
    listview自适应高度
  • 本文给大家分享的是Jquery实现textarea根据文本内容自适应高度,这些在平时的项目中挺实用的,所以抽空封装了一个文本框根据输入内容自适应高度的插件,这里推荐给小伙伴们。
  • js自适应高度

    2016-09-22 17:47:40
    js自适应高度
  • 主要介绍了使用jQuery不判断浏览器高度解决iframe自适应高度问题,需要的朋友可以参考下
  • javascript 装载iframe子页面,自适应高度
  • 本篇文章主要介绍了angularjs 页面自适应高度的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 鄙人在写一个项目,发现成功将数据在页面显示后, 高度没有自适应,而是将一些按钮...以上这篇解决Layui 表格自适应高度的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  • iframe自适应高度

    2017-06-30 16:07:10
    iframe自适应高度是开发项目中经常遇到的问题。 一般来说,在同域情况下,直接在被嵌套的页面B中获取其自身高度并操作其父窗口main的dom属性即可
  • div 自适应高度

    2017-11-08 10:51:00
    自适应高度 ,设置最小高度;通常情况下,没有设置高度,div默认自适应高度且无最低高度 1 div{ 2 _height:200px; /* css 注解: 仅IE6设别此属性,假定最低高度是200px ,设置高度200px,内容超出后IE6会自动撑高...
  • button自适应高度和自动换行

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,444
精华内容 4,977
关键字:

自适应高度