iphone - UITableView 无限滚动

标签 iphone objective-c ios ipad

如何在 UITableView 中进行无限滚动?我知道如何使用 UIScrollView 来做到这一点,苹果已经在其中一个 WWDC 视频中进行了演示。我尝试在 tableView:cellForRowAtIndexPath: 中执行以下操作:

if (indexPath.row == [self.newsFeedData_ count] - 1)
{
    [self.newsFeedData_ addObjectsFromArray:self.newsFeedData_];
    [self.tableView reloadData];
}

但这失败了。还有其他想法吗?

最佳答案

如果您需要知道何时触及 UITableView 的底部,请成为它的委托(delegate)(因为它是 UIScrollView 的子类),并使用 -scrollViewDidScroll: 委托(delegate)方法来比较表格的内容高度和它的实际滚动位置。

编辑(像这样):

- (void)scrollViewDidScroll:(UIScrollView *)scrollView_ 
{   
    CGFloat actualPosition = scrollView_.contentOffset.y;
    CGFloat contentHeight = scrollView_.contentSize.height - (someArbitraryNumber);
    if (actualPosition >= contentHeight) {
        [self.newsFeedData_ addObjectsFromArray:self.newsFeedData_];
        [self.tableView reloadData];
     }
}

关于iphone - UITableView 无限滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56672457/

相关文章:

ios - 如何为此日期格式化 NSDateFormatter

iphone - 如何在ios中删除字符串前面的空白

iphone - 实现和测试 iOS 数据保护

iphone - 我们可以在我们的iphone应用程序中找到其他应用程序的appstate吗

ios - 动画在开始前延迟

ios - Swift 如何在按钮单击时显示 Tabbar

ios - Swift:打印出 UILabel.text 时出现问题

iphone - Cocoahttpserver 提供来自 iPhone App Bundle 的图像

iphone - NSTimer 并在主线程上执行选择器

iphone - 如何使用覆盖层允许在相机上点击对焦