0

早上好,

我正在尝试将广告横幅设置为出现在屏幕顶部或底部的某个位置,所以我一直在做的是这样的;

 if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    {

        bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
        bannerView_.adUnitID = MY_BANNER_UNIT_ID;
        CGRect screenRect = [[UIScreen mainScreen] bounds];
        CGFloat screenWidth = screenRect.size.width;
        CGFloat screenHeight = screenRect.size.height;
        CGFloat screenXPos = (screenWidth /2);
        CGFloat screenYPos = screenHeight - 150;
        [bannerView_ setCenter:CGPointMake(screenXPos, screenYPos)];
        bannerView_.rootViewController = self;
        bannerView_.adUnitID = MY_BANNER_UNIT_ID;
        bannerView_.rootViewController = self;
        [self.view addSubview:bannerView_];

    }else{

        bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
        bannerView_.adUnitID = MY_BANNER_UNIT_ID;
        CGRect screenRect = [[UIScreen mainScreen] bounds];
        CGFloat screenWidth = screenRect.size.width;
        CGFloat screenHeight = screenRect.size.height;
        CGFloat screenXPos = (screenWidth /2);
        CGFloat screenYPos = screenHeight -480;
        [bannerView_ setCenter:CGPointMake(screenXPos, screenYPos)];
        bannerView_.rootViewController = self;
        bannerView_.adUnitID = MY_BANNER_UNIT_ID;
        bannerView_.rootViewController = self;
        [self.view addSubview:bannerView_];

它非常不整洁,并不能真正按我的意愿工作,例如,我希望广告横幅出现在任何设备(iPad/iPhone 等)的顶部约 150 像素处

我会更好地在界面生成器中创建横幅视图吗?但如果是这样的话,我将如何实现上面的代码呢?

提前致谢!

4

1 回答 1

0
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
        bannerView_.adUnitID = MY_BANNER_UNIT_ID;
       bannerView.frame = CGRectMake(0, 0, 320,150);
     [bannerView_ setCenter:CGPointMake(screenXPos, screenYPos)];
        bannerView_.rootViewController = self;
        bannerView_.adUnitID = MY_BANNER_UNIT_ID;
        bannerView_.rootViewController = self;
        [self.view addSubview:bannerView_];
于 2013-03-07T19:06:15.560 回答