我正在开发一个应用程序,我必须在我的应用程序的所有页面中显示iAds。 我创建了一个UIView的子类,我正在初始化ADBannerView及其委托方法。
但是现在如果我在AppDelegate类的窗口中添加它,它会在运行时给出跟随错误 “ADBannerView必须是由UIViewController管理的视图层次结构的一部分”..
我认为这意味着我只能在UIViewController的子类文件中使用ADBanner吗?
如果是,那么我怎样才能使它成为全局?
先谢谢 SHREYA
答案 0 :(得分:6)
在AppDelegate类中,您可以创建一个共享对象。
- (ADBannerView *) sharedBannerView
{
if (_sharedBannerView == nil)
{
Class classAdBannerView = NSClassFromString(@"ADBannerView");
if (classAdBannerView != nil)
{
_sharedBannerView = [[classAdBannerView alloc] initWithFrame:CGRectMake(0, 480, 320, 50)];
// pre 4.2 doesn't have the new AdBannerSize constants.
if (&ADBannerContentSizeIdentifierPortrait != NULL)
{
[_sharedBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil]];
}
else
{
[_sharedBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObjects:ADBannerContentSizeIdentifier320x50, ADBannerContentSizeIdentifier480x32, nil]];
}
}
}
((ADBannerView *)_sharedBannerView).backgroundColor = [UIColor whiteColor];
return _sharedBannerView;
}
将此共享对象添加到视图中,只需显示iAd即可。 希望你明白。