This question already has an answer here: How to make marquee UILabel / UITextField / NSTextField (1 answer) Closed 7 years ago .

I am writing an app using a cocoa control that animates text,

https://www.cocoacontrols.com/controls/marqueelabel

It uses CoreText and QuartzCore .

It's a pretty great control, but i'm having trouble. When instantiated the animated labels that I create using the control start to scroll immediately, however I'm finding that when I create an animated label using NSTimer it is not animating. I am using

- (void)viewDidLoad { [super viewDidLoad]; .... [self.view addSubview:continuousLabel1]; [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(updatePrice) userInfo:nil repeats:YES]; }

to call a method that creates the animated label, when I call the method directly the labels create and animate, however when called using the above scheduled timer, new labels created only animate on the first call, not on the timers repeat calls to the method. I have checked that my method is being call on the main thread/ main runloop, any ideas?

For clarity the work flow is:

Timer calls method --> Label 1 is created and starts to Animate.

5 Seconds Late...

Timer calls method again --> Label 2 is created However is does not begin to animate as expected.

EDIT: