ios - 约束 UIScrollView 平移?

标签 ios uiscrollview

UIScrollView 有一个内置的行为“directionLockEnabled”。

启用后,平移将尝试锁定到水平或垂直方向。但是当用户积极尝试对角滚动时 - 它仍然允许对角滚动。

我想删除对角滚动的能力。

提前谢谢了。

编辑:

我尝试将 UIScrollView 放在另一个内部(每个都有尺寸以限制运动),但平移识别器似乎发生冲突 - 只有一个有效。

我查看了 TTScrollView 以查看它是否可以针对这项工作进行修改 - 但它似乎开箱即用并不能正常工作(在第一个手势后卡住。)

我尝试向 UIScrollView.panGestureRecognizer 添加第二个操作(监听器)以调用具有约束值的 setTranslation:inView。这导致了不稳定的跳跃。

其他几种途径可能不值得一提。

编辑2:

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];
}

最佳答案

我从未尝试过,但我有一个具有水平 ScrollView 的应用程序,其中有多个 View ,每个 View 都有自己的垂直 ScrollView。

它有点像一本杂志,有不同的文章,每篇文章都有很多页。

两个 ScrollView 都可以工作,并且用户不能对角滚动。你可以试试。

显示层次为Horizo​​ntal ScrollView->View->Vertical ScrollView

关于ios - 约束 UIScrollView 平移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15112517/

相关文章:

ios - 来自网址的按钮图像未显示

ios - 更改 UIImageView 图像并使用 NSUserDefaults 保存它

ios - 滚动按钮单击 ScrollView/WKWebView,Swift

ios - UIScrollView 减速过早

iphone - 在 Objective-C 上缩放 UIScrollview

iphone - UIScrollView - 为新的 contentSize 设置适当的 contentOffset 会产生不需要的空白空间

iphone - 减速时对 UIScrollView contentOffset 的更改不会坚持

ios - ios 应用程序中 Spotify 轨道的音频混合

ios - Facebook App 邀请通知在 ios 中不起作用

ios - iOS 开发的下一步?