objective-c - iOS开发中的可变高度布局如何优雅实现

查看:129
本文介绍了objective-c - iOS开发中的可变高度布局如何优雅实现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

iOS开发中,经常会碰到一些页面布局,有的部分高度是固定的,有的内容是要从服务器获取后再才能添加进去,所以高度是不确定的,在Android中,采用流式布局,最外面套一个scrollview,然后直接往里面加subview就可以,高度会被自动计算确定。但在iOS中就比较麻烦,我是新手,总结的做法有:

  1. 用tableview来做,但是非常麻烦,需要根据页面元素,把tableview切分成不同的section或者不同的cell,tableview的delegate和datasource需要根据不同的部分来分别响应,代码非常臃肿

  2. 用scrollview来做,不确定的内容部分用一个空白view来占位,然后从服务器得到结果后,建立subview插入到空白view中,但是这种方法也需要计算每个部分的高度,特别是如果包含了可变长度的文本,高度计算就变得很繁杂

  3. 直接用frame的方式,从服务器得到结果后,再开始从上到下构建页面的每个元素,但这种方式也是需要计算各个部分的高度,以便给scrollview一个确定的内容高度

请问各位大侠,iOS中的可变高度的布局,业界习惯是用什么方法来实现的呢?谢谢

解决方案

可变高度的cell实现现在有两种方式:
1、使用代码计算出来每个cell的高度,然后在tableview中设置;可以参考:http://www.hcios.com/archives/471
2、如果应用只适配iOS8以上的系统,可以用self-sizing来实现。可以参考:http://www.hcios.com/archives/466

这篇关于objective-c - iOS开发中的可变高度布局如何优雅实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆