喷枪打字效果(实现文字一个一个出现)
2016-01-29 00:18
316 查看
这是自己在闲暇时间写的demo,主要用于在项目开发中,实现文字一个一个输出来的效果
1.创建Label
2.开辟子线程用于实现动画 子线程的方法是:animationForShowtitleLableBigLabelText
3.线程执行的方法
3.给Label赋值
这里用到了多线程开发,有时候我们需要多行同时输出,我们可以多建几个Label,给每个Label开辟一条线程,实现同时多行输出
1.创建Label
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0 , 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)]; label.adjustsFontSizeToFitWidth = YES;//适应label大小 [self.view addSubview:label]; self.str1 = @"夏小汐一个平凡到不能在平凡的女孩,一直相信着长大就会遇见属于自己的王子。但在樱花高中遇见了陌亦夜和伊辰这两个自己无法触及的男神以后,她的烦恼就没有停止过。明明知道就算知道了喜欢谁又能怎么样!但为了让自己的青春不留下遗憾,夏小汐鼓起勇气向自己喜欢的男神告白,开始了自己的初恋。但好景不长,到后来夏小汐才知道所有的一切都是自己的一厢情愿,分手后的夏小汐开始变得坚强;当她华丽的转身归来之时,曾经的那个男神居然说要回到自己的身边,但那时候的夏小汐身边已经出现了一个一直陪伴他的韩国当红明星安亦北,夏小汐究竟会如何选择?是选择曾经的爱;还是现在没有发现的爱......但夏小汐注定是一个幸运的女孩!";
2.开辟子线程用于实现动画 子线程的方法是:animationForShowtitleLableBigLabelText
NSThread *thred = [[NSThread alloc]initWithTarget:self selector:@selector(animationForShowtitleLableBigLabelText) object:nil]; [thred start];
3.线程执行的方法
- (void)animationForShowtitleLableBigLabelText { //这是子线程里处理动画的方式 str1是我要处理的文本 , self.titleLableBig 是我用于显示这个文本的label 下面是执行动画的循环 一共执行 [_str1 length] 是字符串的长度 每执行一次,在主线程之中刷新ui 子线程休眠0.1秒中用于显示 每次文本的不同 就显示出 上一次笔者一次 少一个文本的效果了 for (NSInteger i = 0 ; i < [_str1 length] ;i++) { [self performSelectorOnMainThread:@selector(refreUIFortitleLableBigLabelText:) withObject:[_str1 substringWithRange:NSMakeRange(0,i+1)]waitUntilDone:YES]; [NSThread sleepForTimeInterval:0.1f]; } }
3.给Label赋值
- (void)refreUIFortitleLableBigLabelText:(NSString *)str { self.titleLableBig.text = str; }
这里用到了多线程开发,有时候我们需要多行同时输出,我们可以多建几个Label,给每个Label开辟一条线程,实现同时多行输出
相关文章推荐
- CodeForces 620E New Year Tree(线段树)
- JSPatch – 动态更新iOS APP
- 安装 vs2005, vs2008 报错
- Linux中的两种守护进程stand alone和xinetd
- Java比较002
- 【NYOJ】[100]1的个数
- Codeforces Round #339 (Div. 2) 解题报告
- Java比较001
- centos 7安装ifconfig
- [工作中的设计模式]模板模式
- Chrome扩展开发之三——Chrome扩展中的数据本地存储和下载
- Linux命令之cut详解
- 【Java SE】————JDK、JRE、JVM简介
- 从今天开始学编程
- 第10讲 s3c2440硬件学习笔记----存储控制器
- 很好的单片机学习心得,值得任何编程读完
- 使用boost::asio开发网络服务器
- C/C++区别
- DLL创建与注入方法
- 2016--超越