我有一个使用Google AdMob Ads SDK的项目。我正在尝试在首页上展示一些广告以及其他一些按钮,其中一些位于屏幕下方。
我使用了UIScrollView,并从DFP广告管理系统中添加了一些GADBannerViews以及按钮。广告加载正常,我可以毫无问题地点击广告和按钮。
问题是当我尝试滚动滚动 View 时。如果我开始触摸广告 View ,则滚动 View 将不会滚动。如果我开始触摸其他任何地方(例如按钮或空格),则滚动 View 会正确滚动。看来广告正在以某种方式控制触摸事件。
我尝试了各种修复方法,例如在广告上方创建一个透明的UIView,该方法无法正常工作,因为水龙头无法注册。
我尝试遍历GADBannerView的 subview ,但是所有 subview 的类似乎都是AdMob专有的或无法访问。 (GADWebView,_UIWebViewScrollView)
我什至尝试将广告添加到UITableView上,以查看它是否可以在此处滚动,但也无法正常工作。
我的 View Controller 类很大,因此如果您需要我发布一些代码,则可以创建一个示例应用程序来演示该问题。目前,一种解决方法是使用HTML广告代码创建UIWebView,而不使用GADBannerView。我已经对此进行了测试,并且可以正常工作,但是我真的不想失去 native 方法的功能。
如果您开始触摸GADBannerView并允许广告保持可点击状态,是否可以滚动UIScrollView?
谢谢!
最佳答案
不幸的是,没有一种方法可以替代滚动手势,但保留广告的触摸手势。 GADBannerView本身需要控制自己的所有手势。也没有办法以编程方式将点击发送到GADBannerView,因此您也不能覆盖触摸行为。
我建议您使用比UIScrollView小得多的广告,这样您就不必担心滚动广告了。
关于ios - 触摸GADBannerView subview 时,UIScrollView不滚动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9475059/