Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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/list/4.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
iPhone中的iAd在未加载时会显示动画_Iphone_Iad - Fatal编程技术网

iPhone中的iAd在未加载时会显示动画

iPhone中的iAd在未加载时会显示动画,iphone,iad,Iphone,Iad,我在屏幕底部添加了一个用于实现iAd的横幅视图。但在模拟器上运行时,横幅视图略高于为其固定的帧。它显示为透明条带,不可选择。过了一段时间,它会自动以黑色条带的形式出现在底部,上面写着测试广告 我希望横幅视图粘贴到底部,而不是动画 这是我的密码。adView声明代码: adView = [[[ADBannerView alloc] initWithFrame:CGRectOffset(CGRectZero, 0, 350)] autorelease]; adView.frame = CGRectM

我在屏幕底部添加了一个用于实现iAd的横幅视图。但在模拟器上运行时,横幅视图略高于为其固定的帧。它显示为透明条带,不可选择。过了一段时间,它会自动以黑色条带的形式出现在底部,上面写着测试广告

我希望横幅视图粘贴到底部,而不是动画

这是我的密码。adView声明代码:

adView = [[[ADBannerView alloc] initWithFrame:CGRectOffset(CGRectZero, 0, 350)] autorelease];
adView.frame = CGRectMake(0,340,320,25);
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
adView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin;
adView.tag = 111;
[self.navigationController.view addSubview:adView];
adView.delegate = self;
self.bannerIsVisible = NO;
adView.hidden = YES;
下面是委托方法

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    if (!self.bannerIsVisible)  {

        [UIView beginAnimations:@"animateAdBannerOff" context:NULL];

        // banner is invisible now and moved out of the screen on 50 px
        banner.frame = CGRectOffset(banner.frame, 0, 50);
        [UIView commitAnimations];
        self.bannerIsVisible = YES;
    }
}

// When iAd is not availale on the banner
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    if (self.bannerIsVisible) {

        [UIView beginAnimations:@"animateAdBannerOff" context:NULL];        
        // banner is visible and we move it out of the screen, due to connection issue
        banner.frame = CGRectOffset(banner.frame, 0, 520);
        [UIView commitAnimations];      
        self.bannerIsVisible = NO;
    }
}
我不能理解这个问题。请先帮忙。

加载主视图时,对象最初是如何放置在其中的?我总是将它们放在
viewDidLoad
方法中的正确位置。因此,将您的横幅放在主视图底部下方,确保

myBannerFrame.origin.x = 0;
myBannerFrame.origin.y = mainView.frame.size.height;
[myBanner setFrame:myBannerFrame]; // no need for animation here! 
另外,
viewDidLoad
是将您的标志
self.bannerIsVisible
设置为
FALSE
的好地方

秒。不要像这里这样使用固定像素值

banner.frame = CGRectOffset(banner.frame, 0, 50);
与其使用
50
,不如使用
banner.frame.size.height

这将帮助您避免许多错误和错位

稍后,我将通过界面生成器直接放置横幅视图。但过了一段时间后,它似乎改变了立场。