Ios 停止在屏幕上拖动UIView

Ios 停止在屏幕上拖动UIView,ios,objective-c,uiview,uiviewcontroller,phonegap-plugins,Ios,Objective C,Uiview,Uiviewcontroller,Phonegap Plugins,我们正在将第三方优惠墙集成到iOS phonegap应用程序中 当我们显示offerwall时,它被添加到标准phonegap viewcontroller中,并显示在我们的webview顶部 它的问题是,人们可以将视图拖到任何地方,而不是在某个地方上下滚动。这将在下面的屏幕截图中显示效果: 我们想要实现的是能够锚定此视图,使其不能在应用程序中拖动,只能垂直滚动 在集成代码中,我们可以访问offerwall的UIView和主应用程序的ViewController offerwall是作为库提供

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

当我们显示offerwall时,它被添加到标准phonegap viewcontroller中,并显示在我们的webview顶部

它的问题是,人们可以将视图拖到任何地方,而不是在某个地方上下滚动。这将在下面的屏幕截图中显示效果:

我们想要实现的是能够锚定此视图,使其不能在应用程序中拖动,只能垂直滚动

在集成代码中,我们可以访问offerwall的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;
        }
    }

这无疑是一种黑客行为,但如果您无法从他们的代码中访问任何其他内容,那么这可能是您唯一的选择。

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

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

            scrollView.scrollEnabled = NO;
            return;
        }
    }

这无疑是一种黑客行为,但如果您无法从他们的代码中访问任何其他内容,那么这可能是您唯一的选择。

最终,解决方案非常简单。事实证明,offerwall是一个UIWebView,在测试模式下,offerwall页面呈现了一些溢出页面的元素,因此出现了水平滚动。在生产模式下,问题消失了

最后,解决方案非常简单。事实证明,offerwall是一个UIWebView,在测试模式下,offerwall页面呈现了一些溢出页面的元素,因此出现了水平滚动。在生产模式下,问题消失了

报价墙是什么样的视图?报价墙是什么样的视图?