[英]How to change the uilabel text when animate an uiimageview
我有一個可以對圖像進行動畫處理的UIimageview,還有一個用於描述圖像的uilabel,當我們更改圖像時如何更改標簽內容
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];
正如我在您的代碼中看到的那樣,您正在使用UIImageView
動畫,動畫持續時間為30.f秒,因此要在更改任何圖像時更改UILabel
文本,您需要將NSTimer
設置為timeInterval
設置動畫,在計時器的目標函數中,您可以相應地更改標簽文本,為此,您可能需要保持currentIndex
以根據圖像顯示文本,並做一些良好的工作,它將為您提供幫助。
您可以按照在array
添加圖像的順序,將所有圖像的description
存儲在NSArray
中。 例如,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
聲明為全局。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.