为了向上和向下滚动,我需要调用两种方法,因为我使用了以下方法。我正在使用 scrollview委托方法作为UICollection
,因为它是子视图UIScrollView
。这是我编写的代码,但滚动不容易移动,结果在某些时候也不准确。?
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
CGPoint mScrollPosition = [scrollView.panGestureRecognizer velocityInView:mCollectionView];
if (mScrollPosition.y > 0.0f){
NSLog(@"going down");
//Action One
mYearHeaderTitle--;
[self.mCollectionView reloadData];
}
else if (mScrollPosition.y < 0.0f){
NSLog(@"going up");
//Action two
mYearHeaderTitle++;
[self.mCollectionView reloadData];
}
}
答案 0 :(得分:2)
使用:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
相反:
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
答案 1 :(得分:2)
使用以下方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
通过右键单击滚动视图将委托链接到滚动视图,并将委托方法连接到文件所有者 (或)
scrollview.delegate = self;
答案 2 :(得分:0)
您可以尝试将self.scrollView.delegate
设置为应作为scrollView委托的对象。
答案 3 :(得分:0)
将视图控制器设置为<UIScrollViewDelegate>
答案 4 :(得分:0)
**使用此方法:**
//MARK: - UIScrollview Delegate -
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y > 0
{
if (tableView.contentSize.height - (tableView.contentOffset.y + scrollView.bounds.size.height)) == 0
{
self.count += 1
let strCount = String(self.count)
let params:[String:String] = ["search":SAFESTRING(str: self.strSearchVal!),"page":strCount,"length":"25"]
let url = API_USER.BASE_URL + API_USER.SEARCH_LISTING
self.callGetEventlist(url: url, params: params)
}
else
{
}
}
}
答案 5 :(得分:-1)
在我的情况下,我必须让我的视图成为UITextViewDelegate和UIScrollViewDelegate的委托。在我添加两者之前,它不会触发该方法。可能是因为我在EAGLView而不是viewcontroller。
@interface EAGLView : UIView <UITextFieldDelegate, SDWebImageManagerDelegate, UITextViewDelegate, UIScrollViewDelegate>
我也做了:
alertMessage.delegate = self;
由于alertMessage是我的TextView,我将其用作服务条款滚动条。