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];

[email protected]"我依然燃烧我仍在信仰";

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];

时间: 2024-10-26 22:06:30

iOS中跑马灯效果小结的相关文章

iOS LED跑马灯效果实现

iOS中实现LED跑马灯效果 实现原理是使用scrollView, 将需要滚动的label添加两次到 scrollView的subView下面, 然后通过滚动scrollView来实现跑马灯效果. 具体实现代码如下: // // KMScrollLabel.swift // StopSmokingPrograms // // Created by Fran on 15/11/2. // Copyright © 2015年 kimree. All rights reserved. // impor

iOS实现跑马灯效果

在网页开发当中跑马灯是常用到的,用来显示通知等,在游戏开发当中也如此. 下面的代码片断可实现iOS中的跑马灯效果, [labelShow sizeToFit]; CGRect frame = labelShow.frame; frame.origin.x = 320; labelShow.frame = frame; [UIView beginAnimations:@"testAnimation" context:NULL]; [UIView setAnimationDuration:

Android中跑马灯效果

<com.randy.test1.self.MarqueeText android:id="@+id/btn1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:focusable="true" android:focusableIn

ListView 中的TextView实现跑马灯效果

案例:怎么样在一个ListView中含有TextView的item中实现字母滚动呢.这个在一些特定的场合经常用得到.如下图,当焦点位于某个item的时候其内容就自动滚动显示 要实现这样的效果,废话不多说直接上代码: adapter对应的layout 对应的listView的layout 切记千万不要在TextView中加上android:focusable="true" view plain <LinearLayout android:orientation="vert

横冲直撞vue(第四篇):v-model、指令系统总结、指令系统示例轮播图实现、指令系统示例跑马灯效果实现、在vue中使用样式的方式

一. v-model v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素. 尽管有些神奇,但v-model本质上不过是语法糖.它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理. v-model在内部为不同的输入元素使用不同的属性并抛出不同的事件: text 和 textarea 元素使用 value 属性和 input 事件: checkbox

Vue教程02(跑马灯效果案例) &#253148;

原文: http://blog.gqylpy.com/gqy/423 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

Android TextView跑马灯效果

TextView跑马灯简单效果 <!--简单示例--> <TextView android:text="@string/longWord" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView1" android:ellipsize="marquee&quo

android 怎么实现跑马灯效果

自定义控件 FocusedTextView, 使android系统误以为它拥有焦点 1 public class FocusedTextView extends TextView { 2 public FocusedTextView(Context context, AttributeSet attrs, int defStyle) { 3 super(context, attrs, defStyle); 4 // TODO Auto-generated constructor stub 5 }

框架,锚点,背景音乐,嵌入视频和跑马灯效果

框架,iframe有点过时,会在部分浏览器出现一些奇怪的问题:设置三个属性: 1.src,框架默认的显示路径 2.name,让超链接的target属性与name值相等,就可以将超链接网页在框架中打开 3.框架的宽度和高度 站点:实际上就是一个文件夹,单独起了一个名字.统一来管理所有页面,就是一个站点,称之为网站 锚点: 书写格式:<a href="#锚点位置对应的名称">内容</a> --#是在本页面中 <a name="锚点位置的名称"