嗨是否可以获得tableview滚动方向?滚动是向上滚动还是向下滚动?因为我需要得到最底层单元格的indexpath.row并将其存储到变量中。
如果没有,那么请给我任何建议我该怎么办?
答案 0 :(得分:1)
是的,您可以确认协议UITableViewDelegate并实现-scrollViewDidScroll方法。只要用户滚动tableView,就会调用此方法。
您还可以检查scrollView的contentOffset并将其与最后一个进行比较。
@property (assign, nonatomic) CGFlaot lastContentOffset
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.y > self.lastContentOffset.y) {
// Scroll down direction
} else {
// Scroll to up
}
self.lastContentOffset = currentOffset;
}
不要忘记设置tableViewDelegate
self.tableView.delegate = self;
答案 1 :(得分:1)
如果你想知道的是scrollView正在向上或向下移动,你可以使用这个
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
let translation = scrollView.panGestureRecognizer.translation(in: scrollView.superview!)
if translation.y > 0 {
print("scrolling down")
} else {
print("scrolling up")
}
}
请务必在视图控制器中设置scrollView.delegate = self
。
答案 2 :(得分:0)
让您的课成为tableview的代表,然后覆盖scrollViewDidScroll
。
您必须自己跟踪上一个滚动位置,但是您可以通过查询scrollview的内容偏移来实现:Get the current UIScrollView scroll values on the iPhone?
答案 3 :(得分:0)
是的,有可能!由于<div class="text-mid">
<div id="left"></div>
<span>TEXT AREA</span>
<div id="right"></div>
</div>
继承自tableView
,您可以使用scrollView
。
UIScrollViewDelegate
。 UIScrollViewDelegate
,scrollViewShouldScrollToTop
。现在,您可以通过比较scrollViewDidScroll
的{{1}} tableView
的移动情况
代表功能的示例实现:
tableView
答案 4 :(得分:0)
简单如下。
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView
withVelocity:(CGPoint)velocity
targetContentOffset:(inout CGPoint *)targetContentOffset{
if (velocity.y > 0){
NSLog(@"scrolling up");
}
if (velocity.y < 0){
NSLog(@"scrolling down");
}
}