在这个应用程序中,只允许一个场景改变其方向,因此以编程方式旋转其内容。 adBannerView是其中一个子视图,它在横向显示时可以正确旋转和调整大小,但是,加载时广告的大小不会跟随 - 它仍然以纵向尺寸显示。
我使用以下方法创建广告横幅视图:
CGRect bannerRect = UIInterfaceOrientationIsLandscape([UIDevice currentDevice].orientation) ? CGRectMake(0, 20 + yOffset, 480, 32) : CGRectMake(0, 20 + yOffset, 320, 50);
_adBannerView = [[ADBannerView alloc] initWithFrame:bannerRect];
[_adBannerView setDelegate:self];
[_adBannerView setBackgroundColor:[UIColor blueColor]];
[self.view addSubview:_adBannerView];
然后我用它旋转它:
[_adBannerView setTransform:CGAffineTransformMakeRotation(angle)];
下图显示了视图的底部。蓝色是广告所在的adBannerView的背景颜色。
另外,当我在横向上检查ADBannerView帧大小时,我得到了这个NSRect:{{268,-248},{32,568}}。