实现原理比较简单,这里不做过多介绍.
- #import "ViewController.h"
- @interface ViewController ()
- @property (weak, nonatomic) IBOutlet UILabel *titleLabel;
- @property (copy , nonatomic)NSString *contentStr;
- @end
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(animationLabel) object:nil];
- [thread start];
- self.contentStr = @"人生最宝贵的是生命,生命属于人只有一次。一个人的生命应当这样度过:当他回忆往事的时候,他不致因虚度年华而悔恨,也不致因碌碌无为而羞愧;在临死的时候,他能够说:“我的整个生命和全部精力,都已献给世界上最壮丽的事业——为人类的解放而斗争。”";
- }
- - (void)animationLabel
- {
- for (NSInteger i = 0; i < self.contentStr.length; i++)
- {
- [self performSelectorOnMainThread:@selector(refreshUIWithContentStr:) withObject:[self.contentStr substringWithRange:NSMakeRange(0, i+1)] waitUntilDone:YES];
- [NSThread sleepForTimeInterval:0.3];
- }
- }
- - (void)refreshUIWithContentStr:(NSString *)contentStr
- {
- self.titleLabel.text = contentStr;
- }
最终效果: