pot*_*ato 5 interstitial uiview ios iad
我想将ADInterstitialAds视为常规的UIView,以便在使用时获得一些灵活性.
例如,默认的插页式转换是slide up from the bottom of the screen.我不喜欢那样.是否可以首先将alpha值修改为0,然后将其更改为1?
另一个例子是在全屏添加前面有不同的UIView少量时间,即只是在转换过程中ADInterstitialAd?ADInterstitialAds往往是视图层次结构中最顶层的视图.如果我设法将ADInterstitialAds视为常规的UIView,我想我可以做到这一点.有关如何实现这一目标的任何建议?
您可以只设置 alpha 值的动画AdBannerView即可达到您想要的效果:
import iAd
private var bannerView: AdBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Create your banner view however you want, and add it to your UI.
bannerView = AdBannerView()
bannerView.alpha = 0
addSubview(bannerView)
}
// When you want to show the ad, animate the alpha.
private func animateInAd(appearing: Bool) {
UIView.animateWithDuration(1.0) [weak self] {
self?.bannerView.alpha = appearing ? 1 : 0
}
}
Run Code Online (Sandbox Code Playgroud)
这是展示bannerView 的另一种方式。当广告向上滑动完成后,您可以删除广告顶部的视图:
import iAd
private var coverView: UIView!
private var bannerView: AdBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Create your banner view however you want, and add it to your UI.
bannerView = AdBannerView()
addSubview(bannerView)
// Create the cover view however you want, and add it above the banner view.
coverView = UIView()
addSubview(coverView)
}
private func animateInAd(appearing: Bool) {
let hideAdPosition = view.frame.size.height
let showAdPosition = hideAdPosition - bannerView.frame.size.height
UIView.animateWithDuration(1.0, animations: [weak self] {
self?.bannerView.frame.origin.y = appearing ? showAdPosition : hideAdPosition
}) { [weak self] success in
self?.animateCover(appearing: !appearing)
}
}
private func animateCover(appearing: Bool) {
UIView.animateWithDuration(1.0) [weak self] {
self?.coverView.alpha = appearing ? 1 : 0
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
至于ADInterstitialAds,它们似乎继承NSObject并具有您需要调用才能呈现它们的显式方法(presentInView:和presentFromViewController:)。因此,没有公共 API 来控制这些广告的呈现方式(这可能是故意这样做的,以便 Apple 可以保证向用户展示广告)。
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |