美文网首页
对复杂tableView的处理

对复杂tableView的处理

作者: 扑腾的蛾子 | 来源:发表于2017-09-22 21:33 被阅读60次

    UI给的设计稿是这样的:

    设计稿要求

    需求分析:

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

    对后台接口的分析:

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

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

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

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

    相关文章

      网友评论

          本文标题:对复杂tableView的处理

          本文链接:https://www.haomeiwen.com/subject/mnqqextx.html