如何让屏幕高度减去我正在显示的广告的高度?
我用
获取屏幕尺寸 [[UIScreen mainScreen] bounds].size;
我正在展示一个横幅广告:
self.canDisplayBannerAds = YES;
所以屏幕高度应该是这样的:
[[UIScreen mainScreen] bounds].size.height - banner.height;
我想将一个物体放在屏幕的正中间,横幅并不是一直显示。
答案 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;
}