SwiftUI 2.0 实现无限滚动的分页列表(高性能含源码)

本文价值与收获

看完本文后,您将能够作出下面的界面

无限滚动的分页列表

无限滚动的分页列表

实战需求

我们平时构建的应用基本上都是列表类应用,例如待办事项列表、微博、微信朋友圈和视频列表等。这些列表都是可以无限滚动的,那这个功能该如何实现呢。本篇文章将告诉大家个非常简单高效的构建无限滚动List的方法,而且该方法还不会有性能问题。

列表实现目前有两种方法,一种List,另外一种Scrollview。在wwdc20之前,我不太推荐大家使用ScrollView,但是wwdc20对scrollview进行了全面改造,在性能和灵活性上都有很大提高。下面我就给大家制作两版无限分页列表。

实战代码

1、List版

struct EndlessList: View {
  @StateObject var dataSource = ContentDataSource()

  var body: some View {
    List {
      ForEach(dataSource.items) { item in
        Text(item.label)
          .onAppear {
            dataSource.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章