2013-06-25 27 views
0

我有一个的UIImageView其中动画图像和 我有记述关于图像 如何更改标签内容时,我们改变形象如何改变的UILabel文本时,动画化的UIImageView

for (int i=0; i<[mutable_banner count]; i=i+3) 
     { 
      NSLog(@"--------%d----------%@",i,[mutable_banner objectAtIndex:i]); 
      addr = [mutable_banner objectAtIndex:i]; 
      addr = [addr stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
      data_banner = [NSData dataWithContentsOfURL:[NSURL URLWithString:addr ] ]; 
      img_banner = [[UIImage alloc] initWithData:data_banner]; 

      [images addObject:img_banner]; 

     } 


     array = [[NSArray alloc] initWithArray:images]; 

     NSLog(@"-array-----%d",[array count]); 

     imgview_banner = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10,364 ,164)];//364.164 
     // [imgview_banner setImage:[UIImage imageWithData:data_banner ]]; 

     imgview_banner.animationImages=images; 
     imgview_banner.animationDuration=30.0f; 
     [imgview_banner startAnimating ]; 
     [view_banner addSubview:imgview_banner]; 
+0

你可以给图像动画代码? – DharaParekh

+0

给你一些你试过的代码。 – Durgaprasad

+0

通过动画图像你的意思是“定期显示一个再见一个图像”? – Geek

回答

0

您可以将所有图像的description存储在NSArray中,其顺序与您在array中添加图像的顺序相同。例如,imageDescription [0]中的array [0]的描述也是这样。

然后,当你启动动漫形象,与调用此方法

index = 0; 
[NSTimer scheduledTimerWithTimeInterval:30.0f target:self selector:@selector(showDesc) userInfo:nil repeats:YES]; 
[imgview_banner startAnimating ]; 

沿着如下图所示然后定义showDesc()方法:

- (void)showDesc { 
    self.label.text = imageDescription[index]; 
    index ++; 
    if (index == array.count) { 
     index = 0; 
    } 
} 

声明一个变量index全球。

0

一个UILabel正如我在代码中看到的那样,您使用的动画效果为UIImageView,动画持续时间为30.f秒,因此若要更改UILabel文字,则需要将NSTimer设置为timeInterval设置为动画,在计时器的目标功能中,您可以相应地更改标签文本,为此您可能需要保持currentIndex根据图像显示文字,做一些很好的条件,它会帮助你。