屏幕尺寸减去广告尺寸

时间:2014-02-26 16:30:41

标签: ios iad

如何让屏幕高度减去我正在显示的广告的高度?

我用

获取屏幕尺寸
 [[UIScreen mainScreen] bounds].size;

我正在展示一个横幅广告:

self.canDisplayBannerAds = YES;

所以屏幕高度应该是这样的:

[[UIScreen mainScreen] bounds].size.height - banner.height;

我想将一个物体放在屏幕的正中间,横幅并不是一直显示。

2 个答案:

答案 0 :(得分:2)

canDisplayBannerAds会展示一个广告,你不能采用它的代表。您也无法参考广告视图以获取框架高度或宽度。我建议用老式的方式。如果你愿意,我可以发一个代码。

答案 1 :(得分:0)

获取屏幕大小并不是您想要做的。这是因为如果设备侧向转动(如果您支持旋转)或视图控制器不占用整个屏幕(如果您的视图控制器位于UINavigationController或UITabBarController中),您的横幅将不在屏幕上。

要将横幅放在viewControllers视图的底部,并将另一个视图放在viewControllers视图的中间,您可以编写类似这样的内容

-(void) viewDidLayoutSubviews{
    [super viewDidLayoutSubviews];
    CGRect bounds = self.view.bounds; // for a normal view controller {0,0,width,height}
    CGRect bannerRect = self.banner.frame;
    bannerRect.origin.y = bounds.size.height - bannerRect.size.height; // bottom of the screen
    bannerRect.origin.x = (bounds.size.width - bannerRect.size.width)/2.0; // centre horizontally
    self.banner.frame = bannerRect;

    CGRect objectRect = self.objectView.frame;
    objectRect.origin.y = (bounds.size.height - objectRect.size.height)/2.0; // centre vertically
    objectRect.origin.x = (bounds.size.width - objectRect.size.width)/2.0; // centre horizontally
    self.objectView.frame = objectRect;
}