我寫了下面的代碼,用於在標籤上添加選取框效果,並在視圖上逐一顯示標籤。UILabels Marquee +在動畫標籤上重疊
- (void)marqueeMessage:(NSString *)messageString
{
UILabel *label = [[UILabel alloc] initWithFrame:(CGRectMake(520, 0, 480, 21))];
label.text = messageString;
[self.view addSubview:label];
[UIView animateWithDuration:0.2
animations:^ {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:20];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.view cache:YES];
label.frame = CGRectMake(-480, 0, 480, 21);
[UIView commitAnimations];
}
completion:^(BOOL finished) {
NSLog(@"Animation Done!");
if (array.count > 0)
{
nextIndex++;
NSString *strMessage = [array objectAtIndex:nextIndex];
[self marqueeMessage:strMessage];
}
}];
}
一些如何,在陣列的字符串被顯示以這樣的方式,在執行動畫,它們是重疊的。
任何想法,任何人?
讓我知道,以防需要更多信息。
您的標籤是否將文本更新爲位於nextIndex的數組中的字符串?什麼marqueeMessage:strMessage呢? –
我發佈的代碼本身就是函數'marqueeMessage:strMessage' ...讓我再次編輯帖子... – viral
@PratyushaTerli:是的,標籤正在更新。但是它們彼此重疊。 – viral