iphone - 如何在一个scrollView中拥有多个scrollView

标签 iphone touch scrollview gesture

我想要一个启用水平滚动的大 ScrollView 。在这个 ScrollView 中,我想要(比方说)5 个其他可以垂直滚动的 ScrollView 。

任何人都可以为我指明如何处理触摸事件的正确方向吗?

我正在考虑制作两个手势识别器(1 个用于点击,1 个用于平移),并使用 X 和 Y 值的增量来计算水平或垂直滑动。检查方向后,我将大滚动器或其中一个滚动器设置为启用或禁用。这是正确的方法吗?

<小时/>

编辑: 我没有使用上面的方法,而是通过将 5 个 ScrollView 添加为大 ScrollView 的 subview ,将 5 个 ScrollView (垂直滚动)添加到一个大 ScrollView (水平)中。也许这段代码也可以帮助别人,所以也提供了示例代码。

for (int i = 0; i < NumberOfVerticalScrollers; i++) {
        CGRect frame;
        frame.origin.x = self.scrollView.frame.size.width * i;
        frame.origin.y = 0;
        frame.size = self.scrollView.frame.size;

        UIScrollView *scroller = [[UIScrollView alloc] initWithFrame:frame];
        scroller.directionalLockEnabled = YES;
        scroller.contentSize = CGSizeMake(320, 960);
        [self.scrollView addSubview:scroller];
}
self.scrollView.delegate = self;
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * NumberOfVerticalScrollers, self.scrollView.frame.size.height);

最佳答案

您只需要创建一个可以水平滚动的主 ScrollView ,并且只需要使用 addSubView 方法在主 ScrollView 上添加其他 ScrollView 。 iOS 处理所有必要的事件以正确处理滚动。您只需为每个 ScrollView 分配正确的内容大小框架

关于iphone - 如何在一个scrollView中拥有多个scrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723841/

相关文章:

iphone - 如何成为从一个 UITextView 到另一个 UITextView 的响应者?

iphone - 图像在 iOS 中用手指在屏幕上移动

android - Android:在View上启用触摸声音

java - 带有RelativeLayout的ScrollView

iphone - UIInterface方向问题

iphone - iOS 支持哪些动画文件类型?

node.js - 触摸文件,然后在 Node 中写入它

javascript - 防止在获取和附加项目后将 react-waypoint 滚动位置重置为顶部

android - Android 中 ScrollView 中的 ViewFlipper

带有两个并排的 UITableViewController 的 iPhone 应用程序