UIScrollView具有内置行为“directionLockEnabled”。
启用后,平移将尝试锁定水平或垂直方向。但是当用户积极尝试对角滚动时 - 它仍然允许对角线滚动。
我想删除对角滚动的功能。
非常感谢提前。
编辑:
我已经尝试将UIScrollView放在另一个中(每个都有尺寸以限制移动)但是pan识别器似乎发生了冲突 - 只有一个工作。
我已经查看了TTScrollView以查看它是否可以针对该作业进行修改 - 但它似乎没有正常工作(在第一个手势后冻结。)
我尝试在UIScrollView.panGestureRecognizer中添加第二个动作(侦听器)以调用具有约束值的setTranslation:inView。这导致了不稳定的跳跃。
其他一些途径可能不值得一提。
EDIT2:
Odrakir的解决方案有效。代码如下:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage* image = [UIImage imageNamed:@"Sofia"];
UIImageView* imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(0, 0, 1024 * 2, 768 * 2);
UIScrollView* scrollView1 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 1024*2, 768)];
scrollView1.contentSize = CGSizeMake(1024*2, 768*2);
[scrollView1 addSubview:imageView];
UIScrollView* scrollView2 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
scrollView2.contentSize = CGSizeMake(1024*2, 768);
[scrollView2 addSubview:scrollView1];
[self.view addSubview:scrollView2];
}
答案 0 :(得分:0)
我从未尝试过,但我有一个具有水平ScrollView的应用程序,里面有多个视图,每个视图都有自己的垂直ScrollView。
它有点像杂志,有不同的文章,每篇文章都有很多页面。
两个ScrollView都有效,用户无法对角滚动。你可以试试。
显示层次结构为Horizontal ScrollView->查看 - >垂直ScrollView