以前,写了一篇文章:将AdMob加入iOS应用中,这篇文章中的方法只支持竖屏下的AdMob展示,而此文支持横屏和竖屏,AdMob会自动切换。
AdMobViewController.h
#import <UIKit/UIKit.h>
#import "GADBannerView.h"
@interface aaViewController : UIViewController {
GADBannerView *banner;
}
@end
AdMobViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
CGPoint origin = CGPointMake(0, self.view.frame.size.height - CGSizeFromGADAdSize(kGADAdSizeSmartBannerPortrait).height);
banner = [[[GADBannerView alloc]initWithAdSize:kGADAdSizeSmartBannerPortrait origin:origin] autorelease];
banner.adUnitID = @"";
banner.rootViewController = self;
[self.view addSubview:banner];
GADRequest *request = [GADRequest request];
request.additionalParameters =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"AAAAFF", @"color_bg",
@"FFFFFF", @"color_bg_top",
@"FFFFFF", @"color_border",
@"000080", @"color_link",
@"808080", @"color_text",
@"008000", @"color_url",
nil];
[banner loadRequest:request];
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
CGFloat y;
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)){
banner.adSize = kGADAdSizeSmartBannerLandscape;
y = self.view.frame.size.width - CGSizeFromGADAdSize(kGADAdSizeSmartBannerLandscape).height;
} else {
banner.adSize = kGADAdSizeSmartBannerPortrait;
y = self.view.frame.size.height-CGSizeFromGADAdSize(kGADAdSizeSmartBannerPortrait).height;
}
CGRect frame = banner.frame;
frame.origin = CGPointMake(0, y);
banner.frame = frame;
}
效果图:


分享到:
相关推荐
15. **横竖屏切换**:源码会处理横屏和竖屏模式下的布局转换,确保视频播放不受影响。 通过分析这个"Android网络视频播放器源码",开发者可以学习到Android多媒体编程、网络编程、UI设计以及性能优化等多个方面的...
- 使用Fragment管理屏幕布局,适应不同设备屏幕尺寸,实现横竖屏切换。 2. **UI设计**: - 仿91熊猫看书的界面设计,意味着应用可能包含类似的主题色、图标、字体和布局结构。 - RecyclerView或者ListView用于...
2. **广告加载**:接入广告平台SDK,如Google AdMob或Facebook Audience Network,获取广告数据并显示。这需要在应用启动时异步加载,防止阻塞主线程。 3. **倒计时逻辑**:设置一个定时器(如Handler或...
- **监听屏幕旋转**:通过注册OrientationEventListener或在AndroidManifest.xml中设置屏幕旋转配置,确保横竖屏切换时广告能正确适应。 4. **性能优化技巧** - **延迟加载**:只有在需要时才加载广告,以减少...
技术运维-机房巡检表及巡检说明
第四次算法分析与设计整理
图像处理项目实战
该资源为jaxlib-0.4.18-cp311-cp311-macosx_11_0_arm64.whl,欢迎下载使用哦!
搭建说明. 运行环境 php5.6 mysql5.6 扩展sg11 前置条件: 前后端分离,需要准备两个域名,一个后台域名,一个前端域名 后端源码修改(cs2.ijiuwu.com批量替换改为你的后端域名)数据库修改(cs3.ijiuwu.com批量替换为你的前端域名)1、创建后台站点,上传后台源码并解压到根目录2、创建前端站点,上传前端源码并解压到根目录 3、创建数据库上传并导入数据库文件 4、修改数据库信息: 后台:app/database.php 前端:application/database.php 前端站点设置 伪静态thinkphp 运行目录public 关闭防跨站 访问后台域名/admin.php进入后台管理 admin 123456 系统-》系统设置-》附件设置-》Web服务器URL 改为你的前端域名 系统-》清前台缓存 改为你的前端域名 点击刷新缓存
【毕业答辩】爆款黑板风教育文艺毕业论文答辩通用模板.pptx
1、文件内容:systemd-devel-219-78.el7_9.9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/systemd-devel-219-78.el7_9.9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
win32汇编环境,对 WM-MOUSEMOVE 消息的理解
车牌识别项目
UE项目开发过程中的一些快捷脚本
lab1的words.txt文件
python、yolo、pytorch
人工智能、大语言模型相关学习资料
图像处理项目实战
python、yolo、pytorch
车牌识别项目