【问题标题】:How to add and delete a view in UIscrollview at runtime?如何在运行时在 UIscrollview 中添加和删除视图?
【发布时间】:2011-10-03 13:16:08
【问题描述】:

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

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

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

提前致谢

【问题讨论】:

    标签: cocoa-touch uiwebview uiscrollview horizontal-scrolling


    【解决方案1】:

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

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

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

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

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

    -(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;
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      相关资源
      最近更新 更多