How to make marquee UILabel / UITextField / NSTextField
Solution 1:
You need NSTimer
and you need to invoke a method something as :
*This is for OSX, you can easily convert it into iOS, NSTextField
and UILabel
has different methods.
-(void)awakeFromNib{
self.myTimer=[NSTimer new];
self.fullString=@"This is a long string to be shown.";
[self.label setAlignment:NSRightTextAlignment];
}
-(void)scrollText:(id)parameter{
static NSInteger len;
[self.label setStringValue:[self.fullString substringWithRange:NSMakeRange(0, len++)]];
if (self.label.stringValue.length==self.fullString.length) {
[self.myTimer invalidate];
}
}
- (IBAction)buttonAction:(id)sender {
self.myTimer = [NSTimer scheduledTimerWithTimeInterval:0.2f
target: self
selector:@selector(scrollText:)
userInfo: nil
repeats:YES];
}