I have a label at the top of my UIView.I am displaying some messages on it through array with the help of the timer.But now i want this messages to be displayed in MARQUEE s
I followed your idea, and I did that:
*I Created a container view.
messageView = [[UIView alloc] initWithFrame:CGRectMake(27, 0, 235, 19)];
[messageView setClipsToBounds:YES];//With This you prevent the animation to be drawn outside the bounds.
*Then I created a UILabel with the text to be displayed and added to my container view
lblTime = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 235, 19)];
[lblTime setBackgroundColor:[UIColor clearColor]];
[messageView addSubview:lblTime];
*Finally I created a function like this:
- (void)sendNotification:(NSString*)txt{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:3.5];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:messageView cache:YES];
[lblTime setText:txt];
[lblTime setTextAlignment:UITextAlignmentLeft];
lblTime.frame = CGRectMake(260, 0, 258, 19);
[UIView commitAnimations];
}
Here's an idea:
That should give you the sliding animation of one label moving off screen and a new label moving on screen.
You'll have to play around with the animationDuration property and the precise positioning and sizing properties of the labels and views to get it just right, but it should be quite simple.