[英]Advertisement is covering tableview
我创建了一个表格视图,其底部有一个AdMob广告横幅。 如果用户付费,则不会使用代码advertisementBanner.isHidden = true
展示advertisementBanner.isHidden = true
。
问题是当显示广告时,我无法一直滚动到底部,因为它已经一直向下滚动,但是广告覆盖了该区域。
如您所见,我不在最底部,而且由于已经位于“底部”,因此无法向下滚动。 所以我的问题是:
有什么办法可以使我的“滚动”时间更长? 或者,您还有其他解决方法可以解决吗? 谢谢。
这是我目前的代码:
//If no advertisement is shown.
func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError)
{
advertisementBanner.isHidden = true
}
func adViewDidReceiveAd(_ bannerView: GADBannerView)
{
//What should I insert here to "make tableview even longer"
}
您可以将adView移到tableViews footerView。
func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError)
{
tableView.tableFooterView = bannerView
}
func adViewDidReceiveAd(_ bannerView: GADBannerView)
{
tableView.tableFooterView = nil
}
感谢@ manishsharma93,我设法解决了我的问题。
我没有将@IBOutlet添加到Height中,而是将其添加到了底部约束中。
@IBOutlet weak var topConstraint: NSLayoutConstraint!
然后从那里添加一个约束,以更改tableview和Navigationcontroller之间的空间,如下所示:
func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError)
{
advertisementBanner.isHidden = true //Hiding the ad banner
topConstraint.constant = 0 //Adding 0 constraint from bottom to tableview
tableView.layoutIfNeeded()
tableView.updateConstraints()
}
然后,如果广告成功部署,我就会得到以下信息:
func adViewDidReceiveAd(_ bannerView: GADBannerView)
{
topConstraint.constant = 100 //Adding 100 "constraints" to bottom
tableView.layoutIfNeeded()
tableView.updateConstraints()
}
我添加了“ 100”,因为广告横幅的高度是100。
在storyboard
创建一个高度为200的视图,并在屏幕底部进行调整。 将您的Tableview
设置为其上方。 现在,在底部视图中加载Admob Ad
。 然后为它的swift文件创建一个针对其Height约束的出口。 喜欢
@IBOutlet var adViewHeight: NSLayoutConstraint!
现在如下调整您的逻辑
if (showAd) // depending on your location
{
adView.isHidden = false;
adViewHeight.constant = 200;
}
else { // hide ad
adView.isHidden = true;
adViewHeight.constant = 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.