簡體   English   中英

像幻燈片一樣從右向左動畫圖像

[英]Animate images from right to left like slide show

我已經完成了簡單的動畫制作,但是想像從左到右一樣向滑塊添加動畫,我有一組圖像,如何以編程方式進行動畫處理,

  -(void) slideImages
{
    NSMutableArray *imagesArrays= [[NSMutableArray alloc]init];
    for (SliderDC *slider in imagesArray) {
        sliderImageName = slider.sliderImagePath;

     NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",KWURL ,sliderImageName]]];

       UIImage *imgOne = [UIImage imageWithData:imageData];

    if(imgOne)
        [imagesArrays addObject:imgOne];
}

// after adding all image in array then add animation.
UIImageView* animatedImageView;
 if ([[UIScreen mainScreen] bounds].size.height == 568){
      animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 150)];
 }
 else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
 {
    animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 98, 768, 228)];
 }
else
{
 animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 118)];
}
animatedImageView.animationImages = imagesArrays;
animatedImageView.animationDuration = 20.0f;
animatedImageView.animationRepeatCount = 0;
[self.view addSubview: animatedImageView];
[animatedImageView startAnimating];

}

您可以簡單地使用DRDynamicSlideShow

創建漂亮的,動畫的頁面調度UIScrollViews。 當UIScrollView被分頁時,可以輕松為視圖設置動畫。 這非常適合iOS應用中的歡迎屏幕和介紹視圖。

特征

每個動畫1行代碼。

任何類型的值都可以設置動畫。

塊驅動。

嘗試這個..

 -(void) slideImages
  {
    NSMutableArray *imagesArrays= [[NSMutableArray alloc]init];
    for (SliderDC *slider in imagesArray) {
        sliderImageName = slider.sliderImagePath;

     NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",KWURL ,sliderImageName]]];

       UIImage *imgOne = [UIImage imageWithData:imageData];

    if(imgOne)
        [imagesArrays addObject:imgOne];
  }


- (IBAction)startAnimation:(UIButton *)sender
{
    slideTransition = [CATransition animation]; // CATransition * slideTransition; instance variable 
    slideTransition.duration = 0.35;
    slideTransition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    slideTransition.type = kCATransitionPush;
    slideTransition.delegate = self;
    NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:0.50 target:self selector:@selector(slideShow) userInfo:nil repeats:YES];
    [timer fire];
}
-(void)slideShow
{
    slideTransition.subtype =kCATransitionFromLeft; // or kCATransitionFromRight
    [animatedImageView.layer addAnimation:slideTransition forKey:nil];

    if (index < imagesArrays.count-1) // NSUInteger  index; instance variable
    {
        index++;

    }
    else
    {
        index=0;
    }
    animatedImageView.image =[imagesArrays objectAtIndex:index];

}
-(void) slideImages
{
NSMutableArray *imagesArrays= [[NSMutableArray alloc]init];
for (SliderDC *slider in imagesArray) {
    sliderImageName = slider.sliderImagePath;

 NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",KWURL ,sliderImageName]]];

   UIImage *imgOne = [UIImage imageWithData:imageData];

if(imgOne)
    [imagesArrays addObject:imgOne];
}



UIImageView* animatedImageView;
 if ([[UIScreen mainScreen] bounds].size.height == 568){
  animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 150)];
 }
 else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
 {
  animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 98, 768, 228)];
 }
 else
 {   
 animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 118)];
 }

[self.view addSubview: animatedImageView];

self.animatedImageView.animationImages = imagesArrays;

self.animatedImageView.animationDuration=1.0;
self.animatedImageView.animationRepeatCount=1;
self.animatedImageView.image = [self.imageViewAnimation.animationImages lastObject]; //to stop animation at last image.
[self.animatedImageView startAnimating];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM