Ios Swift:iAd UITableViewController位置
我通过拖动到Ios Swift:iAd UITableViewController位置,ios,uitableview,swift,iad,Ios,Uitableview,Swift,Iad,我通过拖动到UITableViewController 在我的UITableViewController中,我有以下代码 @IBOutlet var adBannerView: ADBannerView! 在ViewDidLoad self.canDisplayBannerAds = true self.adBannerView.delegate = self self.adBannerView.hidden = true 这些代表的方法 func bannerViewActionShoul
UITableViewController
在我的UITableViewController
中,我有以下代码
@IBOutlet var adBannerView: ADBannerView!
在ViewDidLoad
self.canDisplayBannerAds = true
self.adBannerView.delegate = self
self.adBannerView.hidden = true
这些代表的方法
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return true
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.adBannerView.hidden = false
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
println("didFailToReceiveAdWithError")
self.adBannerView.hidden = true
}
有时,当UITableViewLoads加载时,它会如下所示
iAd将位于TableView的底部,并随之移动
然而,有时它只是在视图的底部加载一个固定的位置,这正是我想要的
如何使iAd固定在底部,而不随tableview移动?您的问题是,您实际上在这里创建了两个
ADBannerView
。在Interface Builder和viewDidLoad中使用self.candisplaybanerads=true加载一次。从您的视图中删除self.candisplaybanerads=true
,以更正此问题
要将在Interface Builder中创建的ADBannerView
固定到应用程序视图的底部,需要设置其约束。使用底部空间至:底部布局指南将您的ADBannerView
固定到视图底部,并将其与Interface Builder中的align Center X to:Superview
对齐
这将使ADBannerView保持在应用程序视图的底部,并在具有不同屏幕尺寸的设备上适当调整其大小。我无法在情节提要中添加任何约束。我从情节提要中删除了iAd横幅,只需使用:
self.canDisplayBannerAds = true
现在它工作正常了我也遇到了类似的问题,所以我只是手工编写了代码。当我的代码在ViewDidLoad中时,一切都不起作用,但取而代之的是ViewWill将显示我所需要的一切
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.canDisplayBannerAds = true
self.banner.delegate = self
}
当然,在类的顶部添加ADBannerViewDelegate,然后添加其方法:
let banner = ADBannerView(adType: .Banner)
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.view.addSubview(banner)
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
banner.removeFromSuperview()
}
似乎约束仅在UIViewController中有效,但在UITableViewController中无效。iAd始终处于同一位置