如何在运行时在UIscrollview中添加和删除视图?

时间:2011-07-12 11:20:48

标签: cocoa-touch uiwebview uiscrollview horizontal-scrolling

我的项目需要在运行时向uiscrollview添加和删除uiwebview。意味着,当我们在启用分页时水平滚动(左或右),然后将新视图添加到uiscrollview并遍历到它。

是否可以在uiscrollview中检测左或右滚动?

Plz告诉我最好的解决方案,示例代码或任何教程。

提前致谢

1 个答案:

答案 0 :(得分:3)

在这种情况下,我们应该在滚动视图中启用分页。

假设你有大小为320x480的滚动视图,它应该显示10页,每页的大小为320x480,滚动视图的内容大小为320 * 10 x 480。

确定当前页面的最佳方法是使用滚动视图的内容偏移值。  因此,在开始时,当scrollview显示第一页时,其内容偏移将是x = 0,y = 0。

对于第二页x = 320,y = 0。  因此,我们可以通过将contentOffset.x除以page-width来获取当前页面值。  因此,0/320 = 0,表示第1页。 320/320 = 1,表示第2页,依此类推。

因此,如果我们有当前的页面值,我们可以确定滚动视图的移动方向,如下所示:

-(void) scrollViewDidScroll:(UIScrollView *)scrollView{

    int currentPageOffset = currentPage * PAGE_WIDTH;
    if (self.pageScrollView.contentOffset.x >= currentPageOffset + PAGE_WIDTH) {
        // Scroll in right direction. Reached the next page offset.
        // Settings for loading the next page.
        currentPage = self.pageScrollView.contentOffset.x/PAGE_WIDTH;
    }else if (self.pageScrollView.contentOffset.x <= currentPageOffset - PAGE_WIDTH) {
        // Scroll in left direction. Reached the previous page offset.
        // Setting for loading the previous page.
        currentPage = self.pageScrollView.contentOffset.x/PAGE_WIDTH;
    }

}