首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >广告正在覆盖tableview

广告正在覆盖tableview
EN

Stack Overflow用户
提问于 2019-06-27 17:33:56
回答 3查看 78关注 0票数 2

我已经创建了一个表视图,它的底部有一个AdMob广告横幅。如果用户有溢价,广告将不会显示,使用代码advertisementBanner.isHidden = true

问题是,当广告显示时,我不能滚动到“底部”,因为它已经一直向下滚动,但广告覆盖了整个区域。

正如你所看到的,我不在底部,我不能再往下滚动了,因为我已经在“底部”了。所以我现在的问题是:

有没有办法让我的“卷轴”更长?或者你有没有别的办法来解决这个问题呢?谢谢。

这是我目前使用的代码:

代码语言:javascript
复制
//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"
}
EN

回答 3

Stack Overflow用户

发布于 2019-06-27 19:29:36

您可以将adView移至tableViews footerView。

代码语言:javascript
复制
func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError)
{
    tableView.tableFooterView = bannerView
}
func adViewDidReceiveAd(_ bannerView: GADBannerView)
{
    tableView.tableFooterView = nil
}
票数 0
EN

Stack Overflow用户

发布于 2019-06-27 19:32:52

感谢@manishsharma93,我设法解决了我的问题。

我没有将@IBOutlet添加到Height,而是将其添加到了底部约束。

代码语言:javascript
复制
@IBOutlet weak var topConstraint: NSLayoutConstraint!

然后我添加了一个约束来改变tableview和navigationcontroller之间的空间,如下所示:

代码语言:javascript
复制
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()
}

如果广告部署成功,我就会得到这样的结果:

代码语言:javascript
复制
func adViewDidReceiveAd(_ bannerView: GADBannerView)
{
    topConstraint.constant = 100 //Adding 100 "constraints" to bottom

    tableView.layoutIfNeeded()
    tableView.updateConstraints()
}

我给它加上了" 100“,因为广告横幅的高度是100。

票数 0
EN

Stack Overflow用户

发布于 2019-06-27 19:37:06

在你的storyboard中,创建一个高度为200的视图,并在屏幕底部调整它。将您的Tableview设置为上面的值。现在在底部视图中加载Admob Ad。然后为其高度约束创建一个出口到您的swift文件。喜欢

代码语言:javascript
复制
@IBOutlet var adViewHeight: NSLayoutConstraint!

现在像下面这样调整你的逻辑

代码语言:javascript
复制
if (showAd) // depending on your location
{
     adView.isHidden = false;
     adViewHeight.constant = 200;
}  
else { // hide ad
     adView.isHidden = true;
     adViewHeight.constant = 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56788099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档