Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios “的框架”;横幅视图“;在运行时将不同。iAd适用于最大屏幕,但在较小屏幕上为空白_Ios_Frame_Iad_Adbannerview - Fatal编程技术网

Ios “的框架”;横幅视图“;在运行时将不同。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

我几乎完成了我的应用程序,唯一的问题是我的iAd横幅视图将只显示在最大的屏幕上。 我已经设置了限制,这样iAd就可以很好地安装在较小的屏幕上,但是当我在除最大屏幕以外的任何尺寸上运行它时,我看到的只是一个白色的框

我目前的代码是:

-(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;
    }];
}