gpt4 book ai didi

iphone - iPhone 应用程序中的全局 ADBannerView

转载 作者:行者123 更新时间:2023-12-03 18:28:36 25 4
gpt4 key购买 nike

使用标准的 UINavigationController 根应用程序是否可以在屏幕底部、 View 层次结构下方显示单个 ADBannerView?也就是说,在不修改每个可以推送到根 UINavigationController 的 View Controller / View 的情况下,我可以让全局 ADBannerView 可见吗?

我不确定如何在 IB 或代码中进行设置。帮忙?

我看到类似的问题,但答案很模糊。我正在寻找一个具体的例子。

最佳答案

编辑:在 iOS5+ 中执行此操作的更好方法可能是使用 View Controller 包含。也就是说,创建一个包含广告和应用程序 Controller (导航、标签等)的根 Controller 。

我想出了一个方法来做到这一点。这是我所做的:

在我的第一次尝试中,我创建了一个名为 AdBannerController 的新 View Controller 。对于其 View ,我创建了一个全屏 View 和两个 subview 。第一个 subview (contentView) 用于常规内容,第二个 subview 是 AdBannerView。我使用此 View Controller 的实例作为与应用程序窗口关联的 View Controller ( [window addSubview: adBannerController.view] )。然后我将 UINavigationController.view 添加为 adBannerController.view 的 subview :[adBannerController.contentView addSubview:navigationController.view]。

除了推送到 UINavigationController 的 View Controller 从未调用其 will/did-load/unload 方法之外,这大部分都有效。嘘。我在一些地方读到,这是 UINavigationController View 不是应用程序窗口的直接后代的症状。

在第二次尝试中,我采用了相同的 AdBannerController 并从 UINavigationController 派生它。这次,我在loadView中做了以下操作:

- (void)loadView
{
[super loadView];

_contentView = [self.view retain];

self.view = [[[UIView alloc] initWithFrame: _contentView.frame] autorelease];

[self.view addSubview: _contentView];

_adView = [[ADBannerView alloc] initWithFrame: CGRectMake(0, _contentView.bounds.size.height, 320, 50)];
_adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
_adView.delegate = self;

[self.view addSubview: _adView];

/* for visual debugging of view layout
[[_mainView layer] setCornerRadius: 6.0];
[[_mainView layer] setMasksToBounds: YES];
[[_mainView layer] setBorderWidth: 1.5];
[[_mainView layer] setBorderColor: [[UIColor grayColor] CGColor]];
*/
}

注意发生了什么 - 我让父类(super class) UINavigationController 构造其常规“内容” View ,但我将其交换并用我自己的 View 替换,该 View 是内容和广告 View 的容器。

这个效果非常好。我也在使用 Three20,需要做一些事情才能使其与该设置一起工作,但还不错。

我希望这对某人有帮助!

关于iphone - iPhone 应用程序中的全局 ADBannerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669272/

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