【发布时间】:2011-06-13 01:53:12
【问题描述】:
我查看了 stackoverflow,但无法找到完全回答我的问题的答案。如果我遗漏了什么,请指出正确的问题。
这是我的场景--
我最初有一个设置垂直窗口大小的情况,所以我很容易通过这样做来完全限制滚动 --
CGRect scrollContainer = CGRectMake(0, 0, 320, 440);
self.baseView = [[UIScrollView alloc] initWithFrame:scrollContainer];
self.baseView.contentSize = CGSizeMake(6400, 440);
self.baseView.bounces = NO;
self.baseView.pagingEnabled = NO;
self.baseView.scrollEnabled = NO;
根据手机的移动,我可以通过编程方式滚动 --
CGPoint scrollOffset = CGPointMake(x*20, 0);
[self.baseView setContentOffset:scrollOffset];
在我的新要求中,垂直内容急剧增加,因此我将拥有这样的 contentSize
self.baseView.contentSize = CGSizeMake(6400, 4400);
我仍然想以编程方式水平滚动,但让用户能够通过触摸仅垂直滚动。所以,我假设我不得不说scrollEnabled = YES。但这让用户可以双向滚动。
我是否必须捕获触摸事件并覆盖它们?我如何识别它是水平滚动还是垂直滚动?如果它是对角滚动动作会发生什么?
在这一点上我有点无能为力,所以任何输入将不胜感激。
【问题讨论】:
标签: iphone objective-c ios ios4 uiscrollview