- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Apple 的插页式广告有疑问。我正在 swift 开发我的第一个应用程序,我想尽快把它放到 App store 上。但是当我将插页式广告的代码从 obejctive-c 重写为 swift 时,我能够显示广告,但我没有 X 关闭按钮,所以我无法关闭它。我没有找到任何地方,我应该自己放置这个按钮,默认情况下它应该在那里。我正在使用这个功能:(我还不得不说,我正在使用 sprite kit,所以我的 View Controller 会自动将游戏重定向到 Gamescene)
func showFullScreenAd() {
if requestingAd == false {
interstitial = ADInterstitialAd()
interstitial!.delegate = self
requestingAd = true
}
}
func interstitialAd(interstitialAd: ADInterstitialAd!, didFailWithError error: NSError!) {
self.interstitial = nil
requestingAd = false
}
func interstitialAdDidLoad(interstitialAd: ADInterstitialAd!) {
if interstitialAd != nil && self.interstitial != nil && self.requestingAd == true {
interstitial!.presentInView(self.view)
}
}
func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!) {
interstitial = nil
requestingAd = false
}
func interstitialAdActionDidFinish(interstitialAd: ADInterstitialAd!) {
interstitial = nil
requestingAd = false
}
谢谢帮助(这里是图片:http://imgur.com/jKTWRiG)
-----更新-----这是解决方案,可以正常工作。我制作了 UIView,其中我展示了广告和关闭按钮(背景上有一些交叉图像)。这可能不是最好的解决方案,但应用商店接受了,soooo :D
所有这些功能都放在 GameViewController.swift 中(你不能简单地从 spritekit 场景控制 View Controller ,你可以通过 gameviewcontroller 的单例,这取决于你)
func showFullScreenAd() {
if requestingAd == false {
interstitial = ADInterstitialAd()
interstitial!.delegate = self
requestingAd = true
}
}
func interstitialAd(interstitialAd: ADInterstitialAd!, didFailWithError error: NSError!) {
self.interstitial = nil
requestingAd = false
}
func interstitialAdDidLoad(interstitialAd: ADInterstitialAd!) {
if interstitialAd != nil && _interstitial != nil && requestingAd == true {
self._adView = UIView()
self._adView!.frame = self.view.bounds
self.view.addSubview(_adView!)
self.button = UIButton(frame: CGRect(x: 10, y: 10, width: 40, height: 40))
self.button!.setBackgroundImage(UIImage(named: "close_button"), forState: UIControlState.Normal)
self.button!.addTarget(self, action: Selector("close"), forControlEvents: UIControlEvents.TouchDown)
self.view.addSubview(button!)
_interstitial!.presentInView(self._adView)
requestingAd = false
}
UIViewController.prepareInterstitialAds()
}
func close() {
self._adView!.removeFromSuperview()
self.button!.removeFromSuperview()
self._interstitial = nil
}
func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!) {
interstitial = nil
requestingAd = false
self._adView!.removeFromSuperview()
self.button!.removeFromSuperview()
}
func interstitialAdActionDidFinish(interstitialAd: ADInterstitialAd!) {
interstitial = nil
requestingAd = false
self._adView!.removeFromSuperview()
self.button!.removeFromSuperview()
}
最佳答案
iOS 9.2.1,Xcode 7.2.1,启用 ARC
我用的是老方法:
[interstitial presentFromViewController:self];
否则,状态栏仍然使用容器 View 显示在 View 中,并且没有“X”按钮,或者您使用 Apple 建议的方法没有回调,即:
[self requestInterstitialAdPresentation];
[interstitial presentInView:self.view];
如果它困扰你,你可以抑制警告:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
//method goes here
#pragma clang diagnostic pop
请阅读这篇文章:iOS 7 iAd interstitial ads can not be closed by user
我所做的是将演示文稿包含在这样的方法中,在某些条件下添加一些润色:
*.h
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
#import <AssetsLibrary/AssetsLibrary.h>
@interface MainViewController : UIViewController <ADInterstitialAdDelegate>
{
ADInterstitialAd *interstitial;
}
@end
*.m
- (void)viewDidLoad
{
[super viewDidLoad];
[UIViewController prepareInterstitialAds];
self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual;
interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- (void)presentInterlude
{
if (interstitial.loaded && [self shouldPresentInterstitialAd])
{
[interstitial presentFromViewController:self];
}
else
{
nil;
}
}
#pragma clang diagnostic pop
- (void)cycleInterstitial
{
interstitial.delegate = nil;
interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;
}
- (void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd
{
NSLog(@"loaded");
nil;
}
- (void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd
{
NSLog(@"unloaded");
[self cycleInterstitial];
}
- (void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error
{
NSLog(@"failed, error: %@", error);
[self cycleInterstitial];
}
- (void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd
{
NSLog(@"finish");
}
- (BOOL)interstitialAdActionShouldBegin:(ADInterstitialAd *)interstitialAd willLeaveApplication:(BOOL)willLeave
{
NSLog(@"action");
return true;
}
@end
然后在您准备好展示插页式广告时使用[self presentInterlude]
。
要使用“X”按钮(无需用户单击广告内容)告知广告何时显示以及广告何时关闭,您必须利用广告显示 viewDidDissapear 的事实:
被调用,当广告关闭时 viewDidAppear:
被调用。如果您有一些内容需要在调用 viewDidAppear:
之前准备好,请使用 viewWillAppear:
方法。
不要忘记在每次呈现后循环插页,插页广告对象在呈现后释放,这是插页式广告与横幅广告最大的区别。
如果有人有更好的解决方案,请分享并发布!
谢谢!干杯。
关于ios - interstitialAd - iOS 8 beta 5 不在模拟器中提供 X 关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25285344/
我想要一个没有标题栏的 qtip2 工具提示,但在角落里有一个关闭图标。有没有办法指定它,或者我是否必须使用创建它的代码?我正在考虑将按钮向左或向右 float 的东西,允许其余内容填充工具提示 di
我有一个 Jframe 窗口,里面有一个按钮。通过单击该按钮,它会打开一个新的 JFrame 窗口。但是当我关闭这个窗口时,它会自动关闭第一个带有按钮的 Jframe 窗口。当我关闭第二个 Jfram
我有一个关闭按钮。如何使关闭按钮在向下滚动页面时悬停?现在它位于顶部。当我们向下移动页面时,我希望它使其向右浮动(将内容悬停)。 最佳答案 使用 position 属性和 bottom、right 属
我正在使用 jtabbedpane,我正在尝试为选项卡设置一个关闭按钮,但不要丢失它所具有的标题! 注释: “GestorJanelas”是我的 JTabbedPane 字符串“titulo”是选项卡
是否有非 JSNI 方法可以向对话框的标题栏区域添加关闭按钮? 最佳答案 我们从项目一开始就使用了 GWT-ext。这是一个坏主意。他们有很多很酷的小部件,但它们不是 GWT 小部件,而且与 GWT
我正在尝试为以下机制找到解决方案: 我有一个底部播放器,它显示在所有页面上,角落里有一个“x”关闭按钮。每当我单击“X”时,播放器就会关闭,但如果我刷新页面,它会再次显示,我需要再次单击“X”才能隐藏
您好,我有一个 jFrame,我想问问用户他是否确定在单击关闭按钮时关闭 jframe: this.addWindowListener(new java.awt.event.WindowAda
我制作了一个 float 在屏幕中间的表单 为此我设计了一个关闭按钮 但我想在屏幕上的任何地方用鼠标点击关闭表单 我的代码 $(".offer-close").click(function ()
我正在尝试编写一个可以在同一行中多次放置的响应式按钮,并始终在包含该按钮的行下方显示其内容。 代码片段中有一个工作代码,但它有一个小缺陷:由于使用了伪类 focus,一旦按钮打开,点击屏幕上的任意位置
我正在开发一个适用于 OS X 的应用程序,在该应用程序中,我使用了一个自定义窗口,该窗口将图像绘制为背景,包括标题栏。我一直在修改this code绘制窗口,然后调用 [NSWindow stand
我正在使用 wxWidgets(C++ 版本)开发记事本应用程序,并且我正在努力实现多文件支持。使用 wxNotebook 类,我似乎找不到任何有关向页面添加关闭按钮的文档,因此我可以轻松关闭单个文件
我做了以下弹出窗口: https://jsfiddle.net/ca4h0a0q/ Click x This is your div content Javascript: $(
如何删除标记信息窗口中的“X”按钮? [ “美人鱼奥布里卡(原名:奥布里·亚历克西斯)”, 36.8618,-76.203, 5、 “迈克·欧文/乔治亚·梅森”, “USAVE汽车租赁”, “弗吉尼亚
我知道已经有问题问同样的问题,但是,我仍然没有运气在表单模态视图的角落实现“X”按钮。 在屏幕截图 HERE 中可以看到我正在尝试实现的一个完美示例。 . (如果 >= 10 代表的人可以通过在此处发
我正在尝试设置 WPF 窗口。 窗口应始终处于最大化状态 窗口不能移动或调整大小 它应该包含最小化和关闭按钮但不包含最大化按钮 我尝试了以下 XAML 代码 xaml 的输出是一个处于最大化状态的
当 fancybox 触发弹出窗口时,我想禁用关闭按钮,并在 x 秒后启用它。 有什么解决办法吗? 提前致谢。 最佳答案 这个很有趣。 如果您想隐藏关闭按钮以防止至少在 10 秒内关闭,您可能还想禁用
我正在 WPF 中创建一个基本的数据库应用程序,并且我已经开始使用 MVVM 模式。 我有一个对话框,要求用户从 ListBox 中选择一个项目,然后单击“确定”。之后,我将用户从 View 模型中的
如果“允许窗口管理器装饰窗口”已打开。wine 源中知道用户单击此 X 按钮并向应用程序发送 WM_CLOSE 的函数名称是什么?谢谢 最佳答案 窗口管理器发送类型为 WM_PROTOCOLS 且协议
在研究问题时,似乎大多数人都想做相反的事情(即删除最小化/关闭按钮)。我没有成功使用 reoccurrent setUndecorated 和 setDefaultCloseOperation 这是我
我正在使用 jqueryui 对话框,我想隐藏顶部的 X 按钮。 我试过下面的代码,但没有用。 $( '.ui-dialog-titlebar-close').remove(); 我的JS: $(f
我是一名优秀的程序员,十分优秀!