我们正在将第三方优惠墙集成到我们的iOS phonegap应用中。

当我们显示offerwall时,它将被添加到标准phonegap视图控制器中,并显示在Web视图的顶部。

问题在于人们可以将视图拖到整个地方,而不仅仅是在位置上上下滚动。在下面的屏幕截图中显示效果:

我们想要实现的是能够锚定此视图,因此它不能在应用程序周围拖动,只能垂直滚动。

在集成代码中,我们可以访问商品墙的UIView和主应用程序的ViewController。

offerwall是作为一个库提供的,因此我无权访问其任何代码,并且只能处理返回的UIView和将其添加到的UIViewController。其他应用程序已成功实现视图而无需水平滚动

我们正在寻找适用于UIView或ViewController的代码来防止这种情况。

谢谢

最佳答案

offerwall视图可能包含一个包含实际内容的UIScrollView。您可以尝试遍历所有子视图并关闭在找到的第一个滚动视图上的滚动:

    for (UIView *view in offerwall.subviews) {
        if ([view isKindOfClass:[UIScrollView class]]) {
            UIScrollView *scrollView = (UIScrollView*)view;

            scrollView.scrollEnabled = NO;
            return;
        }
    }

这肯定是很棘手的,但是如果您无法从他们的代码访问任何其他内容,那么它可能是您唯一的选择。

关于ios - 停止在屏幕上拖动UIView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15954076/

10-14 16:49
查看更多