我想要一个启用水平滚动的大 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/