本文主要是介绍iOS TableView、CollectionView滚动到最底部(最后一个cell和有footerView情况),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近项目需求做分享的时候直接截图APP界面进行分享,而APP界面是由TableView和CollectionView编写的。
直接上代码:
1、TableView滚动到最底部:
#pragma mark - 滑到最底部
- (void)scrollPositionBottom{NSInteger section = [self.tableView numberOfSections]; //有多少组if (section<1) return; //无数据时不执行 要不会crashNSInteger row = [self.tableView numberOfRowsInSection:section-1]; //最后一组有多少行if (row<1) return;NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row-1 inSection:section-1]; //取最后一行数据[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];//滚动到最后一行
}
2、CollectionView滚动到最底部:
#pragma mark - 滑到最底部
- (void)scrollPositionBottom{NSInteger section = [self.collectionView numberOfSections]; //有多少组if (section<1) return; //无数据时不执行 要不会crashNSInteger row = [self.collectionView numberOfItemsInSection:section-1]; //最后一组有多少行if (row<1) return;NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row-1 inSection:section-1]; //取最后一行数据[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionBottom animated:YES];//滚动到最后一行
}
3、以上方法可以满足大部分需求,如果你的tableview里有footerView那么还是有缺陷的,下面介绍一种简单方法;
//设置滚动到最底部
[self.collectionView scrollToBottom];
代码:
- (void)scrollToBottomAnimated:(BOOL)animated {CGPoint off = self.contentOffset;off.y = self.contentSize.height - self.bounds.size.height + self.contentInset.bottom;[self setContentOffset:off animated:animated];
}
END.
这篇关于iOS TableView、CollectionView滚动到最底部(最后一个cell和有footerView情况)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!