吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1499|回复: 2
收起左侧

[其他原创] [ios]iOS商品页面下拉刷新与上拉加载(连载8)

  [复制链接]
debug_cat 发表于 2021-3-14 19:33
国际惯例,看看效果图
下拉刷新.gif

gif比较必须小于3m,没办法上传更高清的gif了,手机上面跑是很流畅的。

商品列表增加下拉刷新

我们在上一篇中做好了商品的加载。但是还没有刷新功能,和拉到底部,加载更多数据的功能。

现在我们就开始。

我在网上找的了一个刷新的工具。

pod "ESPullToRefresh"
//切换到项目根目录中。执行下面的命令
pod install
//关闭xcode,然后重新打开之前的项目,就把项目导入成功了。

如何使用呢
//先导入
import ESPullToRefresh
//设置刷新的代{过}{滤}理
//设置刷新es工具
uiTable.es.addPullToRefresh {
    print("refresh??")
    self.currentPage = 1
    //下拉刷新的时候,我们获取第一页的数据
    self.getData(page: self.currentPage)
}
uiTable.es.addInfiniteScrolling {
    print("load more")
    self.getData(page: self.currentPage)
}

刷新的时候,我们获取第一页数据。

数据获取完成的时候,页面+1

拉到底部的时候,会加载更多数据。这个时候就直接获取就行了。


处理加载完成
func getData(page: Int) {
        //获取数据
        Alamofire.request(UnionApi.getPreferentialUrl(page: page))
            .responseObject {  (response: DataResponse<PreferentialBean>) in
                //获取数据成功
                let result = response.result.value
                print("获取的数据page:\(page)")
                //print(result?.data?.tbkDgOptimusMaterialResponse?.resultList?.mapData?.count)
                //设置到数组中
                if let arr = result?.data?.tbkDgOptimusMaterialResponse?.resultList?.mapData {
                    if page == 1{
                        //清空全部数据
                        self.preferentialList.removeAll()
                        self.preferentialList = arr
                        //停止下拉刷新
                        self.uiTable.es.stopPullToRefresh()
                    } else{
                        //不是第一页的时候,我们需要把获取到的数据,加入到之前的数组中

                        self.preferentialList += arr
                        self.uiTable.es.stopLoadingMore()
                    }
                    self.currentPage += 1
                    //刷新列表
                    self.uiTable.reloadData()
                } else {
                    //返回的数据是空的,那就没有数据了
                    self.uiTable.es.noticeNoMoreData()
                }
            }
    }

这样我们就完成了下拉与上拉的功能了。

计划

页面没有数据的时候,增加提示

代码地址:

https://github.com/cat13954/IOSUiTableViewSample

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
mo211683 + 1 + 1 谢谢@Thanks!
sob13600 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| debug_cat 发表于 2021-3-15 08:55
qljfjut 发表于 2021-3-15 00:08
看了半天,一脸迷茫

把代码跑起来,整个效果就有了了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表