ios - 水平 UIScrollView 中的多个垂直滚动 UIScrollView

标签 ios ios5

我正在开发一个应用程序,其中我有一个可水平滚动的 UIScrollView 全屏,其中包含多个(比方说 3 个)可垂直滚动的 UIScrollView,每个也是全屏。它们的位置没有边距,左边的原点是 (0,0)。

每个垂直滚动的 UIScrollView 都由一个放在另一个上方的按钮组成,每个按钮在单击时都会显示一个 ViewController:

[self presentViewController:someViewController animated:YES completion:nil];

现在这段代码对右边的两个 UIScrollViews 工作正常,但对左边的 UIScrollViews 来说有问题:

  • 低于水平 UIScrollView 高度的按钮不可点击。因此,如果水平 UIScrollView 的高度为 440px,则任何 origin.y > 440 的 UIButton 都是不可点击的。
  • 如果 UIScrollView 稍微向下滚动并单击按钮(不低于 440 像素),则整个 UIScrollView 会向下“移动”并在显示请求的 View Controller 时变得有点滞后。当这个 View Controller 被关闭时, ScrollView 保持较低。如果我向上滚动它并按下一个按钮,它会神奇地跳到它应该在的位置。

现在是有趣的部分!

如果我将左侧 UIScrollView 的原点更改为 (1,0),这个问题就会消失!是什么导致了这个问题?

一些添加的代码:

[horizontalSV setDelegate:self];
[horizontalSV setContentSize:horizontalContentView.frame.size];
[horizontalSV addSubview:horizontalContentView];                  // View containing vertical scroll views, it's set up in IB
[horizontalContentView setFrame:CGRectMake(-1, 0, 961, 440)];     // This is now used for the hack

// Now imagine three of these
firstSVcontent = [[VerticalContentView alloc] init];              // Setting the content view
[firstSVcontent setTitle:title];
[firstSVcontent setButtons:blahblah];
[firstVerticalSV setContentSize:firstSVcontent.view.frame.size];  // Setting vertical scroll view
[firstVerticalSV addSubview:firstSVcontent.view];

最佳答案

我已经在将近一年后解决了这个问题!

问题是,我在 XIB 文件中进行了大部分 View 管理,然后我只是在我的 viewDidLoad 方法中读取这些内容 View 和 ScrollView 并将它们放在一起。

现在我重写了我的代码,以编程方式创建所有 ScrollView 和内容 View ,一切正常。

关于ios - 水平 UIScrollView 中的多个垂直滚动 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386647/

相关文章:

ios - 在 iOS 应用程序上阻止垃圾邮件发送者

ios - 使用 xcode 4.2 和新 mac 的配置文件有问题

iOS 图片编辑开源库——或者只是一些小技巧

ios - SWIFT4 : How to have two tap gestureRecognizers work together

ios - NSString hasPrefix : function with case sensitivity

iphone - 如何在 Objective C 中阻止来电、短信和电子邮件

jquery - 如何使用苹果浏览器在 Web Asp.net MVC 应用程序中打开文件对话框库?

ios - UITableViewCell 在运行 iOS 11 的 iPhone X 上无法正确调整大小

ios - 预渲染的 Core Graphics 动画不流畅且占用内存

iphone - CLGeocoder 和向后兼容性