上一篇文章:
UIScrollView 滚动视图-相关文章:
现在,我们可以运行App测试一下,发现滚动图像可以正常工作了,图像可以分页显示,但是分页控件并没有显示到对应的页面。
在视图控制器实现文件中,继续添加scrollViewDidScroll方法的实现。 - (void)loadVisiblePage{ CGFloat pageWidth = self.scrollView.frame.size.width; NSInteger page = (NSInteger)floor((self.scrollView.contentOffset.x - pageWidth/2) / pageWidth) + 1; self.pageControl.currentPage = page; }
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ // 在屏幕上加载特定页面 [self loadVisiblePage]; }
上述代码中,最主要的是当前页的计算,也就是pageControl对象的currentPage属性。首先是self.scrollView.contentOffset.x 属性,获取用户滚动的距离,然后减去页面宽度的一半,除以页面宽度。然后通过floor函数向下取整,最后加上1。如果计算结果为0,表示是第一页。设置pageControl对象的currentPage属性,分页控件就会自动更新屏幕上的UI显示。
运行App-检查分页浏览图像效果
现在代码编写好啦!我们运行测试一下App的运行效果,选择第二个单元格,查看分页滚动视图的场景。
现在,应用程序运行正常了,并且在分页滚动图像的过程中,底部的分页控件也会正常显示当前页面信息。
至于表视图中的第三个单元格,比较简单,用于跳转到一个新的场景,简单显示场景的UI,如关于信息等等。具体操作就留着读者自己来完成。下面是我们设计的第三个场景。
在《一步一步学习iOS 6 编程》PDF 电子书中有更详细的截图和细节说明。