How can i use marquee in my Application?
I wrote the code for marquee shown below---
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:YES];
//NSTimer *timer=[[NSTimer alloc] initWithFireDate:nil interval:.5 target:self selector:@selector(marqueDisplay) userInfo:nil repeats:YES];
[NSTimer scheduledTimerWithTimeInterval:7.0
target:self
selector:@selector(marqueDisplay)
userInfo:nil
repeats:YES];
}
-(void)marqueDisplay
{
NSString *theMessage = @"Hello, my name is Enigo Montoya. You killed my father, prepare to die";
NSUInteger length = [theMessage length];
NSLog(@"%d",length);
if (length>69) {
messageSize = [theMessage sizeWithFont:[UIFont systemFontOfSize:14.0]];
messageView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, messageSize.width, 19)]; //x,y,width,height
[messageView setClipsToBounds:YE开发者_StackOverflow社区S]; // With This you prevent the animation to be drawn outside the bounds.
[self.view addSubview:messageView];
lblTime = [[UILabel alloc] initWithFrame:CGRectMake(-400, 0, messageSize.width, 19)]; //x,y,width,height
[lblTime setBackgroundColor:[UIColor darkGrayColor]];
lblTime.font = [UIFont systemFontOfSize:14];
[lblTime setText:theMessage];
[lblTime setTextAlignment:UITextAlignmentLeft];
//lblTime.frame = CGRectMake(0, 0, messageSize.width, 19); //x,y,width,height
[messageView addSubview:lblTime];
float duration = messageSize.width / 60; // This determines the speed of the moving text.
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:messageView cache:YES];
lblTime.frame = CGRectMake(messageSize.width, 0, messageSize.width, 19); //x,y,width,height
[UIView commitAnimations];
}
}
this works but this is not satisfying my need... Actually the text is not moving in loop form, i want that if string length > 60 then marquee start and appended the string.
Plz help me to solve this problem.. Thanks in advance.
Here you go https://github.com/jeffhodnett/JHTickerView
here is another https://github.com/ConceitedCode/CCScrollingLabel
I hope your problem will be solved.
精彩评论