gpt4 book ai didi

iphone - 如何检测 UIScrollView 的下一页页码 'scrollView.pagingEnabled' = YES?在 'scrollViewDidEndDragging' 中?

转载 作者:可可西里 更新时间:2023-11-01 03:36:10 26 4
gpt4 key购买 nike

我在 stackoverflow 上搜索了一些东西,比如

CGFloat pageWidth = scrollView.frame.size.width;
int pageNumberToBeScrolled = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
if (pageNumberToBeScrolled != 1) {
// Do what I want
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

但这只有在我缓慢滚动时才有效,因此滚动页面肯定会移动到一半以上。如果我像滑动一样快速滚动,这将不起作用。我只是滚动到滚动页面的30%,这不满足那边的情况,但它滚动到下一页,我想检测它。

如何检测或捕获所有scroll-to-next-page 情况?请给我一些帮助:)

编辑

我正在研究这个,因为我想在滚动到下一页时播放效果音。我应该在我的手指离开屏幕后立即检测到,并且仅用于下一页滚动。我想如果我在 scrollViewDidEndDragging 上处理它,这对我来说是最好的:)

最佳答案

我正在使用此代码来检测 currentPage 是否已更改,无论您滚动得很快还是很慢都没有关系。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
static NSInteger previousPage = 0;
CGFloat pageWidth = scrollView.frame.size.width;
float fractionalPage = scrollView.contentOffset.x / pageWidth;
NSInteger page = lround(fractionalPage);
NSLog(@"%d",page);
if (previousPage != page) {
previousPage = page;
/* Page did change */
}
}

关于iphone - 如何检测 UIScrollView 的下一页页码 'scrollView.pagingEnabled' = YES?在 'scrollViewDidEndDragging' 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com