使用UITableView和数组

时间:2017-03-22 15:09:31

标签: ios arrays swift uitableview infinite-scroll

我是Swift中的新手,我想用数组进行无限滚动。这是我的TableViewController类

class TableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
  var legumes: [String] = ["Eggs", "Milk", "Chocolat", "Web", "Miel", "Pop", "Eco", "Moutarde", "Mayo", "Thea", "Pomelade", "Gear", "Etc" , "Nop", "Dews", "Tout", "Fun", "Xen" , "Yoga" ]
  override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.delegate = self
    self.tableView.dataSource = self
    func numberOfSections(in tableView: UITableView) -> Int {
      return 1
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
       return self.legumes.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
      let cell = self.tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ImageTableViewCell
      return cell
    }
}

我想显示我的数组的前十项,当我在TableViewController的底部时,它将加载接下来的十项,等等。我不知道该怎么做,我看到了很多GitHub上的代码,但我不知道如何实现它们。

非常感谢你。

2 个答案:

答案 0 :(得分:0)

您所描述的内容称为pagination。你应该这样做:

/* Number of page you're loading contents from */
var pageIndex: Int = 1

override func scrollViewDidScroll(scrollView: UIScrollView) {
    let offsetY = scrollView.contentOffset.y
    let contentHeight = scrollView.contentSize.height

    if offsetY > contentHeight - scrollView.frame.size.height {
        /* increment page index to load new data set from */
        pageIndex += 1

        /* call API to load data from next page or just add dummy data to your datasource */
        /* Needs to be implemented */
        loadNewItemsFrom(pageIndex)

        /* reload tableview with new data */
        tableView.reloadData()
    }
}

答案 1 :(得分:0)

考虑使用PagingTableView

.my-div {
    margin: 0 auto;
    width: 1024px;
}

修改paginate函数以按照您的意愿工作