我已经创建了一个表视图,它的底部有一个AdMob广告横幅。如果用户有溢价,广告将不会显示,使用代码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"
}发布于 2019-06-27 19:29:36
您可以将adView移至tableViews footerView。
func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError)
{
tableView.tableFooterView = bannerView
}
func adViewDidReceiveAd(_ bannerView: GADBannerView)
{
tableView.tableFooterView = nil
}发布于 2019-06-27 19:32:52
感谢@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。
发布于 2019-06-27 19:37:06
在你的storyboard中,创建一个高度为200的视图,并在屏幕底部调整它。将您的Tableview设置为上面的值。现在在底部视图中加载Admob Ad。然后为其高度约束创建一个出口到您的swift文件。喜欢
@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;
}https://stackoverflow.com/questions/56788099
复制相似问题