gpt4 book ai didi

ios - 在 BannerView 加载/未加载时显示/隐藏静态 TableView 单元格

转载 作者:可可西里 更新时间:2023-11-01 02:16:57 27 4
gpt4 key购买 nike

我已将 AdMob 标准横幅集成到静态表格 View 单元格中(表格 View :1 个部分,5 行)。

我想根据是否加载横幅自动隐藏或显示相关的表格 View 单元格(包含 AdMob 横幅 View )。

我的 AdMob 横幅集成代码:

import UIKit
import GoogleMobileAds

class WorkoutsFreeListTVC: UITableViewController, GADBannerViewDelegate {

@IBOutlet weak var bannerView: GADBannerView!

override func viewDidLoad() {
super.viewDidLoad()

bannerView.hidden = true
bannerView.adUnitID = "ca-app-pub-9451126739340372/2084650447"
bannerView.rootViewController = self
bannerView.delegate = self

let request = GADRequest()
request.testDevices = ["dcf33ab873fb56fdf5ff94bd7a5f3fde"]

bannerView.loadRequest(GADRequest())
}

测试横幅是否加载的函数:

func adViewDidReceiveAd(bannerView: GADBannerView!) {
bannerView.hidden = false
}

func adView(bannerView: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
bannerView.hidden = true
}

我的 bannerView 将始终在同一个 tableview 单元格(行索引 3)中显示(如果可用于加载)。

我正在按照这段代码的思路来实现我想要的结果:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 3 && !myImageIsLoaded {
return 0
}
// Will hide just the fourth row of my table if myImageIsLoaded is false

return 50

这是我从一个类似的问题中得到的,如果 !myImageIsLoaded,则单元格高度返回为零 (0) 并有效地“隐藏”。

我一直在尝试根据我的需要修改代码,但卡住了。

问题:我走在正确的轨道上吗?这是我应该如何处理这个问题吗?如何根据需要修改代码?

感谢您的宝贵时间;)

最佳答案

凯瑟琳· Jenkins

是的,您所遵循的方法绝对没问题。

在您的情况下,您可能只想检查 bannerView 是否隐藏。如果隐藏,则将行高设置为 0,否则正确返回单元格的高度。

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 3 {
if bannerView.hidden
return 0
else
return 50 //value of height for banner cell
}
else {
return 50 //return other cell height
}
}

为了反射(reflect)单元格高度的变化你可以做

func adViewDidReceiveAd(bannerView: GADBannerView!) {
bannerView.hidden = false
self.tableView.reloadData()
}

func adView(bannerView: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
bannerView.hidden = true
self.tableView.reloadData()
}

关于ios - 在 BannerView 加载/未加载时显示/隐藏静态 TableView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37133140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com