当用户从 UITableView 向上滚动时,我想编写一个动作,我该怎么做?
user2115160
问问题
4215 次
3 回答
6
试试这个
第1步:
yourUITableView.delegate = self;
第2步:
CGFloat yOffset = 0.0;
第 3 步:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y < yOffset) {
// scrolls down.
yOffset = scrollView.contentOffset.y;
}
else
{
// scrolls up.
yOffset = scrollView.contentOffset.y;
// Your Action goes here...
}
}
于 2013-03-06T04:53:51.420 回答
0
我能想到几种方法可以帮助您解决这个问题。这一次,如果您不需要精确识别向上滑动,您可以使用 UITableView 行为来执行此操作。
每次出现新行时,都会调用tableView:cellForRowAtIndexPath:选择器。您可以使用此方法通过比较先前插入的行 (indexPath.row) 来了解用户滚动的方向,以查看新的是否较低。如果是,则用户正在向上滚动。
为了更精确,您可以尝试使用Swipe Gesture Recognizer。我个人从未使用过它,但我无法想象它很难使用。
于 2013-03-05T15:37:36.523 回答
0
UITableView
继承自,因此您可以为您的 tableViewUIScrollView
使用委托:http: //developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intf /UIScrollViewDelegateUIScrollView
tableView.delegate = self;
..
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
NSLog(@"Content offset: %f", scrollView.contentOffset.y);
// do something like
// if firstOffset < secondOffset {
// [self yourAction];
//}
}
于 2013-03-05T15:37:49.570 回答