UITableView复杂界面处理

UI给的设计稿是这样的:

设计稿要求

需求分析:

  • 在订单操作项,如果是收起的状态,就是一个普通的列表,遂考虑采用UITableView。
  • 点击订单操作按钮,cell的高度会改变,所以会有一个刷新的过程,在heightForRowAtIndexPath方法里作出判断如果indexPath.row等于选中的cell的序号就给他重新的赋值高度。

对后台接口的分析:

  • 后台接口分为两个部分,订单列表接口和订单详情接口,进入界面后先去调用订单列表接口获得需要展示的订单数据。
  • 点击订单的详情,根据订单ID获取详情数据,在变长的cell上展示出来。

综上,得到了下面的解决方案:

  • 定义一个selectedN变量来存取需要改变状态的序号。
  • 自定义的cell里面,分成两部分,上面是一直展示的部分,下面是会根据状态展示或隐藏的部分,点击状态改变按钮,下面的部分选择隐藏或展示,heightForRowAtIndexPath方法里根据selectedN来改变cell的高度。
  • 在用第一个接口获得数据后更新列表,然后循环遍历模型数组获取订单ID,紧接着马上调用第二个接口获取订单详情,将详情模型存到全局可变数组里,这时候不要更新,不过要记得在cellForRowAtIndexPath里面将两个模型传入,注意在传入第二个模型的时候记得判断数组是否为空。
  • 根据上文思路,当点击状态改变按钮的时候会有更新,这时候又有数据,又进行了传值,所以就大功告成了,而且不会造成卡顿,因为我们是在用户未进行操作的时候进行的数据获取和解析。

希望我的思路可以帮助你解决tableView复杂界面的处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值