如何在UIScrollView末尾添加一个按钮来加载更多?

时间:2016-11-20 02:42:41

标签: ios swift uiscrollview

我有一个分页滚动。我想一次只加载75页,当用户到达最后一页时,最后一次刷卡会显示一个按钮。必须单击该按钮才能加载更多内容。

就像你在附图中看到的ios Zillow应用程序一样。

我应该如何添加此按钮?它是卷轴的一部分还是只是滚动的一个按钮?

enter image description here

2 个答案:

答案 0 :(得分:1)

我建议您使用UICollectionView而不是UIScrollViewUIScrollView一样,为UIImageView创建多个对象并在UIScrollView中添加对象与UICollectionView相比,这将占用更多内存,与UICollectionView相比,您可以重复使用相同的单元格,因此与UICollectionView相比,UIScrollView所消耗的内存将会非常少

在最后重新添加添加按钮,在UICollectionView中创建两个自定义单元格,一个是显示UIImageView,另一个是显示“加载更多”按钮,一次获取75个结果,数据源numberOfItemsInSection {{1} } 75 + 1(即您的数组计数+ 1 [当您想要显示时显示加载更多按钮的+1])

现在在return比较,如果cellForItemAtIndexPath计数大于您的数组计数,则加载单元格以加载更多按钮。

答案 1 :(得分:1)

因此,让我们首先考虑如何初始化表格视图。我们使用

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int

返回表格中我们想要的单元格数量,所以我们假设我们使用类似

的内容
return searchResultsArray.count

但如果我们想要一个"加载更多结果"按钮,然后再添加1个单元格

return searchResultsArray.count + 1

好的,现在我们如何在这个新单元格中添加按钮?我们想用

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

我们会说

if indexPath.row == searchResultsArray.count

(请记住,数组的计数值比数组中最后一个元素的索引大1,所以这个if语句基本上是这样说的,"如果这个单元格是加载更多的单元格" ;)

然后我们将在这个单元格中创建我们的按钮,我们可以将一个函数链接到按钮(使用选择器),这将把结果添加到searchResultsArray,然后重新加载表(使用tableView.reloadData())

如果它是(垂直滚动)表视图,这就是你如何处理它,但是如果你想在zillow中重新创建水平滚动界面,那么你需要使用一个集合视图,如果你有& #39;是iOS开发的新手,但仍然使用我上面描述的基本概念。这是一个很棒的视频,可以帮助您:https://www.youtube.com/watch?v=Ko9oNhlTwH0