【问题标题】:How to display Custom Advertisement Banner Images with Animation in IOS如何在 IOS 中显示带有动画的自定义广告横幅图像
【发布时间】:2015-04-16 13:45:17
【问题描述】:

我有一组图片,比如 10 张图片。我想用动画一个接一个地在屏幕底部显示这些图像。

看起来像 iAd 或 ADBannerView 会随着动画显示并随着动画消失。

图片来自带有 URL 链接的服务器。我需要在屏幕底部像广告一样显示它们。

我用下面的代码

https://github.com/alobi/ALAlertBanner

但在某些情况下它不显示图像..(使用计时器或导航到其他屏幕并返回此视图时)

下面是我的代码

_secondsToShow = 10;
_showAnimationDuration = 5;
_hideAnimationDuration = 5;

self.bannerTimer = [NSTimer scheduledTimerWithTimeInterval:20.0 target:self                                                  selector:@selector(showAdvertisementsInView) userInfo:nil repeats:YES];

[self.bannerTimer fire];

- (void)showAdvertisementsInView {

    appDelegateRef.imageIndex=appDelegateRef.imageIndex+1;

    ALAlertBannerPosition position = ALAlertBannerPositionBottom;
    //ALAlertBannerStyle randomStyle = (ALAlertBannerStyle)(arc4random_uniform(4));
    banner = [ALAlertBanner alertBannerForView:self.view style:ALAlertBannerStyleSuccess position:position title:nil subtitle:nil tappedBlock:^(ALAlertBanner *alertBanner) {
        NSLog(@"tapped!");
        [alertBanner hide];
    }];
    banner.secondsToShow = self.secondsToShow;
    banner.showAnimationDuration = self.showAnimationDuration;
    banner.hideAnimationDuration = self.hideAnimationDuration;
    [banner show];
}

那么,除了使用 iAd 或 AdMob 或 ALAlertBanner 来解决我的问题之外,还有其他解决方案吗?

在此先感谢...!

【问题讨论】:

    标签: ios objective-c banner


    【解决方案1】:

    把它放在你的 viewController 中,并通过重复的 NSTimer 触发它。

        {
        NSArray *theImageFileNames; //array of image names
        NSUInteger bannerNumber; //where we're up to
        UIImageView *banner; //was setUpInViewDidLoad or nib or whatever..
        }
    
    
    
    
        -(void ) cycleToNextBanner{
    
        bannerNumber ++;
        bannerNumber %= [theImageFileNames count];
        UIImageView *newBanner = [[UIImageView alloc]initWithFrame: banner.frame];
        [newBanner setImage:[UIImage imageNamed:[theImageFileNames objectAtIndex:bannerNumber]]];
        [UIView transitionFromView:banner toView:newBanner duration:0.5 options:UIViewAnimationOptionTransitionCurlUp completion:^(BOOL finished){
    
    if (finished) banner = newBanner;`
       }];
    
    
        }
    

    【讨论】:

    • 感谢您的回答..我会检查并让您知道...!
    • 谢谢它对我有用...+1 为它...!
    【解决方案2】:

    有一个 UIImage 扩展名为'UIImage+Sprite'

    你只需要给出一个带有指定矩形的精灵图像,如下代码:

    UIImage *spriteSheet = [UIImage imageNamed:@"bird-sprite-sheet-i5"];
    
    NSArray *arrayWithSprites = [spriteSheet spritesWithSpriteSheetImage:spriteSheet
                                                              spriteSize:CGSizeMake(240, 314)];
    [self.imageView setAnimationImages:arrayWithSprites];
    

    您可以使用您自己的图像数组分配“arrayWithSprites”;现在它会重复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      相关资源
      最近更新 更多