【发布时间】:2012-05-04 03:26:23
【问题描述】:
我有一个包含多个表格的 UIScrollView,以及一个跟踪用户当前正在查看的页面的 UIPageControl。它工作正常,直到我开始在 tableview 上向上滚动,此时 UIPageControl 调整并(错误地)说我们在第一页上。
这是我的代码:
- (void)scrollViewDidScroll:(UIScrollView *)_scrollView {
if (pageControlIsChangingPage) {
return;
}
/*
* We switch page at 50% across
*/
CGFloat pageWidth = _scrollView.frame.size.width;
int page = floor((_scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
pageControl.currentPage = page;
}
然后也是这样:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)_scrollView {
pageControlIsChangingPage = NO;
}
不确定究竟是什么导致了这种情况发生。 . .有任何想法吗?我被难住了:(
【问题讨论】:
-
pageControlIsChangingPage 返回 YES。
-
我不知道为什么这会导致 UIPageControl 突然像我们在第一页上一样显示。我错过了什么?
-
当你执行
return;时函数退出。 -
是的,但我不确定为什么会导致这个结果。需要详细说明吗?
标签: ios uiscrollview uipagecontrol