如何在我的应用程序中全局查看iAd?

Shr*_*eya 5 objective-c ios adbannerview

我正在开发一个应用程序,我必须在我的应用程序的所有页面中显示iAds.我创建了一个UIView的子类,我正在初始化ADBannerView及其委托方法.

但现在,如果我在AppDelegate类的窗口中添加它,它会在运行时给出以下错误"ADBannerView必须是由UIViewController管理的视图层次结构的一部分".

我认为这意味着我只能在UIViewController的子类文件中使用ADBanner?

如果是的话那我怎么能把它全局化?

先谢谢Shreya

Nee*_*rma 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;
}
Run Code Online (Sandbox Code Playgroud)

并将此共享对象添加到您需要显示iAd的任何位置的视图中.希望你明白.