时光过得好快,记忆中刚刚从春节返回没有多久,清明、五一已飞逝而过,眨眼已到盛夏季节。不过还好,济南这两年不算太热,刚开始升温几天,一场及时雨总能让温度保持适宜。为了纪念一下青春的尾巴,也为了能有个健康的身体和充沛的精力,现在上下班都开始步行。人生就是一场马拉松,无论何时何地都得学会享受好生活。每天早晚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中跑马灯效果小结的更多相关文章

  1. Android中跑马灯效果

    <com.randy.test1.self.MarqueeText android:id="@+id/btn1" android:layout_width="mat ...

  2. android中实现跑马灯效果以及AutoCompleteTestView与MultiAutoCompleteTextView的学习

    跑马灯效果 1.用过属性的方式实现跑马灯效果 属性:                  android:singleLine="true" 这个属性是设置TextView文本中文字 ...

  3. ListView 中的TextView实现跑马灯效果

    案例:怎么样在一个ListView中含有TextView的item中实现字母滚动呢.这个在一些特定的场合经常用得到.如下图,当焦点位于某个item的时候其内容就自动滚动显示 要实现这样的效果,废话不多 ...

  4. andriod给ListView中的TextView增加跑马灯效果

    正常情况下跑马灯效果只需要在TextView中添加android:ellipsize="marquee" android:singleLine="true" a ...

  5. TextView跑马灯效果

    转载:http://www.2cto.com/kf/201409/330658.html 一.只想让TextView显示一行,但是文字超过TextView的长度怎么办?在开头显示省略号 android ...

  6. Android_TextView之跑马灯效果

    对于android控件中的TextView,相信大家一定不陌生,在显示文本内容时十分方便.不过我在使用时遇到一个小问题,就是当文字交多时,如何为用户进行展示.今天就为大家介绍一种解决方案--跑马灯效果 ...

  7. android:ellipsize实现跑马灯效果总结(转)

      最近无意间看到了涉及到跑马灯效果的代码,于是在网上查阅了很多资料,在这里对自己看的一些文章进行一下总结,顺便加上自己的一些体会. 让我们一步步逐渐向下. 首先我们要实现走马灯这样一个效果,通常来说 ...

  8. Android学习总结——TextView跑马灯效果

    Android系统中TextView实现跑马灯效果,必须具备以下几个条件: 1.android:ellipsize="marquee" 2.TextView必须单行显示,即内容必须 ...

  9. 【Android】TextView跑马灯效果

    老规矩,先上图看效果. 说明 TextView的跑马灯效果也就是指当你只想让TextView单行显示,可是文本内容却又超过一行时,自动从左往右慢慢滑动显示的效果就叫跑马灯效果. 其实,TextView ...

随机推荐

  1. Spring Boot学习笔记(二)——HelloWorld实现

    提示:要在Eclipse里使用Spring Boot,首先要安装STS插件,前面我们已经安装了STS插件了,可以创建Spring Boot项目了. 1.创建项目: 新建项目,选择Spring Boot ...

  2. E. Median String 解析(思維、大數運算)

    Codeforce 1144 E. Median String 解析(思維.大數運算) 今天我們來看看CF1144E 題目連結 題目 給你兩個長度為\(k\)的字串\(s\)和\(t\),求字典序排序 ...

  3. c++ 让你的应用支持相对路径

    std::string GetCurrentExeDir(){ char szPath[1024] = { 0 };#ifdef WIN32 GetModuleFileName(NULL, szPat ...

  4. POI CellStyle 中样式覆盖问题

    问题描述 在使用 Apache POI-3.8的时候,需要一个功能,就是处理上传得 Excel的 cell style.如果数据有错误,则标红或者加上其他 style 标识.但是当直接获取到 cell ...

  5. 《Google软件测试之道》 第一章google软件测试介绍

    前段时间比较迷茫,没有明确的学习方向和内容.不过有一点应该是可以肯定的:迷茫的时候就把空闲的时间用来看书吧! 这本书,目前只是比较粗略的看了一遍,感触很大.以下是个人所作的笔记,与原文会有出入的地方. ...

  6. 浅谈querySelector和getElementById之间的区别

    前言: 最近学到前端一些知识,看到很多视频上许多老师都用的是querySelector而部分老师用的是getElementById,我就很疑惑,这两有啥区别,都是选择器,于是百度了一下明白了,quer ...

  7. 3.1 spring5源码系列--循环依赖 之 手写代码模拟spring循环依赖

    本次博客的目标 1. 手写spring循环依赖的整个过程 2. spring怎么解决循环依赖 3. 为什么要二级缓存和三级缓存 4. spring有没有解决构造函数的循环依赖 5. spring有没有 ...

  8. 【洛谷】P1009 阶乘之和——高精度算法

    题目描述 用高精度计算出S = 1! + 2! + 3! + - + n!  ( n ≤  50 ) S = 1! + 2! + 3! + - + n! ( n ≤ 50 ) 其中"!&qu ...

  9. leetcode 38:path-sum

    题目描述 给定一个二叉树和一个值sum,判断是否有从根节点到叶子节点的节点值之和等于sum的路径, 例如: 给出如下的二叉树,sum=22,              5              / ...

  10. C# out参数的学习

    out参数一直不是很会用,学习下记录下来 . 先来看一下out参数的使用场景 如果你在一个方法中 ,返回多个相同类型的值的时候,可以考虑返回一个数组.(举例:写一个方法,传入一个数组,返回数组的最大值 ...