我正在开发一个应用程序,我必须在应用程序的所有页面中显示iAd。。我创建了UIView的一个子类,在其中初始化ADBannerView及其委托方法。
但现在,如果我在AppDelegate类的窗口中添加它,它在运行时会给我以下错误"ADBannerView必须是UIViewController管理的视图层次结构的一部分"。。
我认为这意味着我只能在UIViewController的子类文件中使用ADBanner??
如果是这样的话,我该如何使其全球化??
提前感谢Shrya
在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;
}
并将此共享对象添加到需要显示iAds的视图中。希望你得到它。