将AdMob广告放置在tableview控制器的底部 – swift

我一直在试图在swift上实现Admob,一切都很好,但我用完了问题,因为我使用自定义表格视图单元格和“表视图控制器”作为主要的swift文件,所以当我拖动BannerView到作为桌面视图控制器的故事板,广告实际上出现在表视图的第一个单元格中! 相反,我需要加载它的button的tableview控制器不在单元格内?

@IBOutlet weak var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() self.bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" self.bannerView.rootViewController = self var request: GADRequest = GADRequest() request.testDevices = [GAD_SIMULATOR_ID] self.bannerView.loadRequest(request) // Uncomment the following line to preserve selection between presentations // self.clearsSelectionOnViewWillAppear = false // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem() } 

一个解决scheme可能是创build一个bannerView的新实例,而不是将其作为sockets,然后将其作为子视图添加到tableView的超级视图。

我有同样的问题,我有一个稍微不同的方法,但它的作品像一个魅力。 所以对于Swift新手来说,面对这个问题,

  1. 如果您使用故事板,请从原型单元复制所有视图(例如标签,UIImage)

  2. 继续并删除您的视图控制器。 (不要害怕,它会最终奏效,相信我)

  3. 拖动一个空白的ViewController,并在类中,提到你的类与早先的tableView相关联。

  4. 拖动tableview并selecttableview,把约束forms放在storyboard上&下 – > 0&左&右 – > -20。

  5. 拖拽一个tableview单元格,然后select这个单元格,在课堂上提到你用于更早的tableview单元格的单元格类,(tip->你想要单击下面的module并按回车键,我得到一个愚蠢的bug {在接口生成器错误中的未知类,当我这样做})

  6. 现在,您可以select单元格并粘贴您的早期视图,并与单元类@IBsockets创build新的连接。

  7. 在同一个ViewController中,您可以拖动一个空的UIView,并将其设置为GADBannerView(请参阅Google Analytics的Google Analytics指南)这就是IB

  8. 现在去你的tableview类,类扩展只是使它UIViewController,并确认协议UITableViewDataSource&UITableViewDelegate。

例如:类Foo:UIViewController,UITableViewDataSource,UITableViewDelegate {

  1. 使你的主要tableview(现在viewController)新添加的UITableview的IB连接类@IBOutlet弱var Footableview:UITableView!

现在,在viewDidLoad中添加这两行Footableview.datasource = self Footableview.delegate = self

  1. 现在只需删除所有表视图函数,如部分或RowForIndex函数,以及“self.tableView”replace为“self.Footableview”的地方。

截图

  • 问候