mylayout布局框架:UIScrollView+UITableView的一些记录

ios mylayout布局库,小记一下开发中思考的方案

功能需求

  • 页面基于scrollview,展示内容比较多
  • 部分内容是列表形式,cell高度不规范

层级结构

mylayout的多级嵌套,这都无所谓,组要的结构是:scrollview内嵌tableview

开发构想

  • scrollview内嵌mylayout作为根内容视图,用于滚动。根视图依赖于子视图内容。
  • mylayout视图基于frame,约束设置好,布局不会有啥问题
  • tableview禁止滚动,cell全展示。android中有该自定义组件,ios没有。通过计算高度tableview内容的高度实现
  • cell高度不规范,无法通过cellnumber*高度计算。考虑通过willDisplayCell,加载最后一个cell的时候,根据tableview的contentsize确定tableview的高度

问题

ios 11 以下,cell不加载问题

TableView.myHeight = MAXFLOAT;

tableview初始化时候,给个高度。这样才能触发cell加载,由于cell条数又不确定,只能给最大。需要注意初始的时候把tableview隐藏,不然加载个这个大的tableview,app会卡死掉,内存暴增,ANR

tableview 高度跟内容实际高度不一样

TableView.estimatedRowHeight = 非0数;

TableView.myHeight = tableView.contentSize.height

就会导致tableview高度跟内容高度不一样。给了预估高度,tableView.contentSize的高通过cellnumber*estimatedRowHeight得到

解决:只要触发全部的cell加载,tableview的高度根据CGRectGetMaxY(cell.frame)得到即可

总结

tableview本身是wrapcontent的,没有高度,不会触发cell的加载。两种解决方案:

tv初始高度

1:初始化时候
TableView.myHeight = MAXFLOAT;

2:加载时候
willDisplayCell 加载最后一个cell。tableview的高度根据CGRectGetMaxY(cell.frame)计算

我也不知道这个方案的原理

1:初始化时候
TableView.estimatedRowHeight = 非0数;

2:加载时候
[strongSelf.freshUnitTableView reloadData];
        strongSelf.freshUnitTableView.myHeight = strongSelf.freshUnitTableView.contentSize.height;

这个方案要注意。tableView.contentSize的高通过cellnumber*estimatedRowHeight得到。。所以,cell是动态高度的,并不适合用这种方案

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269