当用户滚动到表格底部时,我希望加载更多数据并创建更多单元格。我使用的是JSON data和MySql。
func dataJsonFromURL(url:String)->NSArray
{
if let data = NSData(contentsOfURL: NSURL(string: url)!) {
return ((try! NSJSONSerialization.JSONObjectWithData(data, options: [])) as! NSArray)
}
else{
return data
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("NCell", forIndexPath: indexPath) as! TableViewCell22
cell.backgroundColor = UIColor .clearColor()
let mindata = (data[indexPath.row] as! NSDictionary)
}
发布于 2016-03-16 01:00:47
您必须使用此方法
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let lastElement = dataSource.count - 1
if indexPath.row == lastElement {
// handle your logic here to get more items, add it to dataSource and reload tableview
}
}
发布于 2016-06-05 21:25:03
我使用了这个方法,它对我很有效
func scrollViewDidScroll(scrollView: UIScrollView) {
let offsetY = scrollView.contentOffset.y
let contentHeight = scrollView.contentSize.height
if offsetY > contentHeight - scrollView.frame.size.height {
loadMoreDataFromServer()
self.tableView.reloadData()
}
}
发布于 2016-01-15 08:42:37
您需要一个非常方便的委托方法:
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell , forRowAtIndexPath indexPath: NSIndexPath) {
}
此方法为您提供当前显示的行。使用它提供的indexPath来确定您何时接近表格底部。然后获取更多的JSON并重新装入该表。
https://stackoverflow.com/questions/34588837
复制相似问题