cocoa-touch - 如何在运行时添加和删除UIscrollview中的 View ?

标签 cocoa-touch uiwebview uiscrollview horizontal-scrolling

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

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

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

提前致谢

最佳答案

在这种情况下,我们应该在 ScrollView 中启用分页。

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

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

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

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

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

}

关于cocoa-touch - 如何在运行时添加和删除UIscrollview中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6663404/

相关文章:

iphone - 异步加载图像 - 如果释放则崩溃

javascript - 使用 Javascript 删除 UIWebView 中的链接?

ios - 如何找到 contentView 的 x 坐标等于 UIScrollView 框架的中心 x

iphone - UILabel 表现得很奇怪

ios - UIScrollView zoom with Autolayout

iphone - 将 View 缩小到左上角的动画

iPhone - 在 UIImagePickerController 上显示模态视图

iphone - 如何从摄像头抓取YUV格式的视频,显示并处理

html - 如何减小 html 页面中的图像大小?

objective-c - Objective C - iOS - UIWebView 保留在 ARC 中,但未调用委托(delegate)方法