我们正在将第三方优惠墙集成到我们的iOS phonegap应用程序中。
当我们展示offerwall时,它会被添加到标准的phonegap viewcontroller中,并显示在我们的webview顶部。
问题在于人们可以将视图拖到整个地方,而不是仅仅上下滚动。这将在下面的屏幕截图中显示效果:
我们想要实现的是能够锚定此视图,使其无法在应用程序中拖动,并且只能垂直滚动。
在集成代码中,我们可以访问任务墙的UIView和主应用程序的ViewController。
offerwall作为库提供,因此我无法访问其任何代码,只能处理返回的UIView和我添加的UIViewController。其他应用程序已设法实现视图而无需水平滚动
我们正在寻找适用于UIView或ViewController的代码来防止这种情况。
由于
答案 0 :(得分:1)
商品墙视图可能包含保存实际内容的UIScrollView
。您可以尝试循环遍历所有子视图,并在找到的第一个滚动视图上关闭滚动:
for (UIView *view in offerwall.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
UIScrollView *scrollView = (UIScrollView*)view;
scrollView.scrollEnabled = NO;
return;
}
}
这绝对是hacky,但如果您无法访问其代码中的任何其他内容,则可能是您唯一的选择。
答案 1 :(得分:0)
最后,解决方案非常简单。原来这个offerwall是一个UIWebView,在测试模式下,offerwall页面渲染了一些溢出页面的元素,因此水平滚动。在生产模式中,问题消失了