gpt4 book ai didi

ios - Interstitial iAd没有关闭 'X'按钮

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:06 26 4
gpt4 key购买 nike

我正在使用 Swift 在我的应用中植入插页式广告。我已经设法让它显示插页式广告,但没有关闭的“X”按钮来摆脱广告。这是为什么?

最佳答案

我也找不到为什么内置框架不提供关闭按钮的答案,但我最终使用了以下解决方案。

//iAD interstitial definition with custom placeHolderView and close button
//you do not need to add anything to interface builder. All is done with code

var interstitial:ADInterstitialAd!
var placeHolderView:UIView!
var closeButton:UIButton!

//Full Implemantation of iAD interstitial and delegate methods

func cycleInterstitial(){
// create a new interstitial. We set the delegate so that we can be notified
interstitial = ADInterstitialAd()
interstitial.delegate = self;
}

func presentInterlude(){
// If the interstitial managed to load, then we'll present it now.
if (interstitial.loaded) {

placeHolderView = UIView(frame: self.view.frame)
self.view.addSubview(placeHolderView)

closeButton = UIButton(frame: CGRect(x: 270, y: 25, width: 25, height: 25))
//add a cross shaped graphics into your project to use as close button
closeButton.setBackgroundImage(UIImage(named: "cross"), forState: UIControlState.Normal)
closeButton.addTarget(self, action: Selector("close"), forControlEvents: UIControlEvents.TouchDown)
self.view.addSubview(closeButton)


interstitial.presentInView(placeHolderView)
}
}

// iAd Delegate Mehtods

// When this method is invoked, the application should remove the view from the screen and tear it down.
// The content will be unloaded shortly after this method is called and no new content will be loaded in that view.
// This may occur either when the user dismisses the interstitial view via the dismiss button or
// if the content in the view has expired.

func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!){
placeHolderView.removeFromSuperview()
closeButton.removeFromSuperview()
interstitial = nil

cycleInterstitial()
}


func interstitialAdActionDidFinish(_interstitialAd: ADInterstitialAd!){
placeHolderView.removeFromSuperview()
closeButton.removeFromSuperview()
interstitial = nil

println("called just before dismissing - action finished")

}

// This method will be invoked when an error has occurred attempting to get advertisement content.
// The ADError enum lists the possible error codes.
func interstitialAd(interstitialAd: ADInterstitialAd!,
didFailWithError error: NSError!){
cycleInterstitial()
}


//Load iAd interstitial
func dislayiAdInterstitial() {
//iAd interstitial
presentInterlude()
}


func close() {
placeHolderView.removeFromSuperview()
closeButton.removeFromSuperview()
interstitial = nil

}

cross

关于ios - Interstitial iAd没有关闭 'X'按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896279/

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