iOS中跑马灯效果小结
时光过得好快,记忆中刚刚从春节返回没有多久,清明、五一已飞逝而过,眨眼已到盛夏季节。不过还好,济南这两年不算太热,刚开始升温几天,一场及时雨总能让温度保持适宜。为了纪念一下青春的尾巴,也为了能有个健康的身体和充沛的精力,现在上下班都开始步行。人生就是一场马拉松,无论何时何地都得学会享受好生活。每天早晚4公里的步行健身,晚上适当的跑步、看书、电视剧、音乐电台,整个人也感觉充实成长了好多。心静了,自信了,才能安宁,才能做好每一件事情。年后的这段期间做了一个公司自己的社交项目,总得来说学到很多,另外两个之前的项目更新优化。项目叠加总是让人痛苦紧张的,所以做好计划,提高效率是很重要的。最近明白了一句话,工作仅仅是生活的一部分,之前真是将工作看的太重,耗费了太多的精力与时间,其实合理的安排平衡生活工作才是最重要的。
最近做的项目中用到了很多有意思的东西,像是标签指定区域设置点击效果,跑马灯效果的实现,手机通讯录中汉字转化成拼音并实现分组效果,当然研究的过程有的时候是枯燥的,如果真心的沉迷其中,其实也很有乐趣的。当前这个商业化的社会,金钱相关的东西占据了人太多的精力,既然赶上了变革的时代还是接受现实,经营好每天的生活或许才是正确的态度吧。幸运的是现在越来越喜欢现在的生活,工作的充实感以及带来的满足感、成就感。爱你现在的时光,或许每个人都改这么做的。
言归正传,下面说一下最近项目中用到的跑马灯控件。之前做web开发的时候,有专门的跑马灯控件,没想到如此简单的效果如果自己去实现其实也是有一定的难度的。刚开始也是没什么思路,从网上搜了好多的例子,大部分都是同一个出处,其实不知该怎么说,别人写的东西直接拷贝过来,完全一样,好处是能够使用,也助于别人搜索,其实这样的东西最好能够消化吸收变成自己的东西,想想那些地方可以优化。我将从网上搜索的一个比较成型的demo优化了一下,精简了好多代码,其实原理很简单的,有需求的可以参考一下。
UIView*backscrollview=[[UIView alloc]init];
backscrollview.frame=CGRectMake(10, 13, 100, 18);
backscrollview.backgroundColor=[UIColor clearColor];
//需要给标签设置一个父控件,并将溢出的部分屏蔽掉
backscrollview.clipsToBounds=YES;
[self.navigationController.navigationBar addSubview:backscrollview];
//导航左侧文本
UILabel*lblScrollLabel=[[UILabel alloc]init];
lblScrollLabel.text=@"我依然燃烧我仍在信仰";
lblScrollLabel.font = [UIFont systemFontOfSize:15];
CGSize lblSize= [HemaFunction getSizeWithStr:lblScrollLabel.text width:150 font:15];
if (lblSize.width>self.frame.size.width)
{
lblSize.width=self.frame.size.width;
}
lblScrollLabel.frame = CGRectMake(0, 0, lblSize.width, self.frame.size.height);
lblScrollLabel.backgroundColor = [UIColor clearColor];
lblScrollLabel.textColor = BB_Blake_Color;
lblScrollLabel.textAlignment = NSTextAlignmentLeft;
lblScrollLabel.frame = CGRectMake(0, (self.frame.size.height-lblSize.height)/2, lblSize.width, self.frame.size.height);
//实现标签滚动的动画
CGRect frame = lblScrollLabel.frame;
frame.origin.x = lblSize.width;
lblScrollLabel.frame = frame;
//这个属性是让标签内容自动展示在父控件中和多行展示属性有冲突
[lblScrollLabel sizeToFit];
[UIView beginAnimations:@"testAnimation" context:NULL];
[UIView setAnimationDuration:5];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDelegate:self];
[UIView setAnimationRepeatAutoreverses:NO];
[UIView setAnimationRepeatCount:9999999999999];
frame = lblScrollLabel.frame;
frame.origin.x = -titlewidth;
lblScrollLabel.frame = frame;
[UIView commitAnimations];
[self addSubview:lblScrollLabel];
iOS中跑马灯效果小结的更多相关文章
- Android中跑马灯效果
<com.randy.test1.self.MarqueeText android:id="@+id/btn1" android:layout_width="mat ...
- android中实现跑马灯效果以及AutoCompleteTestView与MultiAutoCompleteTextView的学习
跑马灯效果 1.用过属性的方式实现跑马灯效果 属性: android:singleLine="true" 这个属性是设置TextView文本中文字 ...
- ListView 中的TextView实现跑马灯效果
案例:怎么样在一个ListView中含有TextView的item中实现字母滚动呢.这个在一些特定的场合经常用得到.如下图,当焦点位于某个item的时候其内容就自动滚动显示 要实现这样的效果,废话不多 ...
- andriod给ListView中的TextView增加跑马灯效果
正常情况下跑马灯效果只需要在TextView中添加android:ellipsize="marquee" android:singleLine="true" a ...
- TextView跑马灯效果
转载:http://www.2cto.com/kf/201409/330658.html 一.只想让TextView显示一行,但是文字超过TextView的长度怎么办?在开头显示省略号 android ...
- Android_TextView之跑马灯效果
对于android控件中的TextView,相信大家一定不陌生,在显示文本内容时十分方便.不过我在使用时遇到一个小问题,就是当文字交多时,如何为用户进行展示.今天就为大家介绍一种解决方案--跑马灯效果 ...
- android:ellipsize实现跑马灯效果总结(转)
最近无意间看到了涉及到跑马灯效果的代码,于是在网上查阅了很多资料,在这里对自己看的一些文章进行一下总结,顺便加上自己的一些体会. 让我们一步步逐渐向下. 首先我们要实现走马灯这样一个效果,通常来说 ...
- Android学习总结——TextView跑马灯效果
Android系统中TextView实现跑马灯效果,必须具备以下几个条件: 1.android:ellipsize="marquee" 2.TextView必须单行显示,即内容必须 ...
- 【Android】TextView跑马灯效果
老规矩,先上图看效果. 说明 TextView的跑马灯效果也就是指当你只想让TextView单行显示,可是文本内容却又超过一行时,自动从左往右慢慢滑动显示的效果就叫跑马灯效果. 其实,TextView ...
随机推荐
- Tomcat8升级后URL中特殊字符报错出现原因
请求带上花括号等字符,请求无法送达服务端,报错: Failed to load resource: the server responded with a status of 400 () https ...
- CentOS换yum源为国内源
CentOS换源 yum源 备份原来的文件. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...
- 【实战】记一次老项目的swagger整合
1.背景 这两天接到一个整合swagger的任务,本以为很简单,预计两小时内完成,没想到其中有太多的坑,整了两天才完成. 首先项目是一个比较老的项目,之前用的servlet,目前在重构为springm ...
- Python爬虫urllib模块
Python爬虫练习(urllib模块) 关注公众号"轻松学编程"了解更多. 1.获取百度首页数据 流程:a.设置请求地址 b.设置请求时间 c.获取响应(对响应进行解码) ''' ...
- 【新阁教育】穷学上位机系列——搭建STEP7仿真环境
经常有学员问我,学习上位机要不要买PLC硬件? 我一般的回答是:富则自行购买,穷则搭建仿真. PLC硬件,对于学习上位机来说,是锦上添花的事,经济条件允许,有则更好,条件不允许,我们也可以通过搭建仿真 ...
- 记录云服务器安装node
今天买了台云服务器,准备玩玩,对于之前没接触过Linux的我是一头雾水,登陆后进去就是一个黑黑的终端,一点也不友好,所以特地记录一下登陆以及安装node的过程 先记录一下登陆 登陆方式一: 那就是账号 ...
- Spring Cloud Alibaba 基础
Spring Cloud Alibaba 基础 什么是Spring Cloud Alibaba 这里我们不讲解Spring Cloud 和 Spring Cloud Alibaba 的关系,大家自己查 ...
- 使用rabbitmq实现集群im聊天服务器消息的路由
这个地址图文会更清晰:https://www.jianshu.com/p/537e87c64ac7 单机系统的时候,客户端和连接都有同一台服务器管理. image.png 在本地维护一份userI ...
- vue踩坑
1. 双向绑定的对象 改变或新增其属性 DOM不刷新问题 var obj = { "attr1": "1", "attr2": [2] }; ...
- Sql 解析XML 解决方案
1. 1.@XML 为数据传入的XML格式 2. root 为根目录 3. <A>为对应需要插入的表,详见一对多或者多对多的xml格式 ...