Ios “的框架”;横幅视图“;在运行时将不同。iAd适用于最大屏幕,但在较小屏幕上为空白
我几乎完成了我的应用程序,唯一的问题是我的iAd横幅视图将只显示在最大的屏幕上。 我已经设置了限制,这样iAd就可以很好地安装在较小的屏幕上,但是当我在除最大屏幕以外的任何尺寸上运行它时,我看到的只是一个白色的框 我目前的代码是:Ios “的框架”;横幅视图“;在运行时将不同。iAd适用于最大屏幕,但在较小屏幕上为空白,ios,frame,iad,adbannerview,Ios,Frame,Iad,Adbannerview,我几乎完成了我的应用程序,唯一的问题是我的iAd横幅视图将只显示在最大的屏幕上。 我已经设置了限制,这样iAd就可以很好地安装在较小的屏幕上,但是当我在除最大屏幕以外的任何尺寸上运行它时,我看到的只是一个白色的框 我目前的代码是: -(void)bannerViewDidLoadAd:(ADBannerView *)banner { [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:1]; [bann
-(void)bannerViewDidLoadAd:(ADBannerView *)banner {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[banner setAlpha:1];
[UIView commitAnimations];
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[banner setAlpha:0];
[UIView commitAnimations];
}
我想知道是否应该在bannerViewDidLoadAd
中添加一行代码来说明帧大小
我经常遇到的错误是:
Frame for "banner view" will be different at run time.
运行时大小为(320,50),但画布中的大小为(480,60)
iAd框架已导入,添加已委派。
如果有什么不同的话,它在滚动视图中
我所有的约束条件都很好,只是这个框架大小才是问题所在。如果我尝试更新帧,什么也不会发生
任何帮助都将不胜感激
谢谢。听起来您的
ADBannerView
上设置了尾随和前导约束
您的ADBannerView
将知道它在哪个设备上,并相应地设置ADBannerView
的尺寸。你应该让Auto Layout知道你想把广告放在哪里。例如,如果希望您的ADBannerView
位于视图的底部,则可以使用底部空间至:底部布局指南将其固定到视图的底部,并将其对齐到将中心X对齐至:Superview
另外,不要使用beginAnimations:context:
方法。发件人:
iOS 4.0及更高版本不鼓励使用此方法。你应该使用
使用基于块的动画方法来指定动画
使用基于块的动画,您的代理方法最终将如下所示:
-(void)bannerViewDidLoadAd:(ADBannerView *)banner {
[UIView animateWithDuration:1.0 animations:^{
banner.alpha = 1.0;
}];
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
[UIView animateWithDuration:1.0 animations:^{
banner.alpha = 0.0;
}];
}