Dan*_*her 4 iphone xcode scrollview pagecontrol ios6
我是XCode的新手,所以我需要你的帮助.我使用UIPageControl来显示我的集合View中的哪个单元格现在可见.
问题是得到可见的细胞:
我想在这个方法中
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
Run Code Online (Sandbox Code Playgroud)
我应该更新当前页面.但是如何获得当前的页面?
谢谢你的帮助!:-)
dan*_*anh 11
页面可以定义为偏移量和大小之间的比率.
- (NSInteger)horizontalPageNumber:(UIScrollView *)scrollView {
CGPoint contentOffset = scrollView.contentOffset;
CGSize viewSize = scrollView.bounds.size;
NSInteger horizontalPage = MAX(0.0, contentOffset.x / viewSize.width);
// Here's how vertical would work...
//NSInteger verticalPage = MAX(0.0, contentOffset.y / viewSize.height);
return horizontalPage;
}
Run Code Online (Sandbox Code Playgroud)
有几种方法可以触发这种情况.你可以在每个scrollViewDidScroll上完成工作,但这有点过分了.更好的方法是在拖动完成并且没有进一步减速或减速结束时运行它,如下所示:
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
self.page.currentPage = [self horizontalPageNumber:scrollView];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (!decelerate) self.page.currentPage = [self horizontalPageNumber:scrollView];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3975 次 |
| 最近记录: |