iOS中跑马灯效果小结

摘要:
最近的项目中使用了许多有趣的东西,例如标签指定区域的点击效果、字幕效果的实现、手机通讯簿中的汉字转换为拼音以及分组效果的实现。当然,研究的过程有时很无聊。如果你真的沉迷其中,那其实很有趣。为了说到重点,我们来谈谈最近项目中使用的选取框控件。在之前进行web开发时,有特殊的字幕控件。我没想到这么简单的效果很难自己实现。

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

上篇用C#.Net实现AutoCAD块属性提取HTML编码规范下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android TextView实现跑马灯

TextView实现跑马灯的效果:例子一: 这个例子可以解决给一个TextView实现跑马灯的效果,但是不能解决给所有的TextView实现跑马灯的效果。 <TextView android:layout_width="wrap_content" android:layout_height="wrap_conten...

wpf 滚动文字 跑马灯

有时候也会有用,比如我的软件界面 放不下全长的文字时。或者状态栏显示一些时间,地点,温度,湿度等等这些东西 代码链接  https://gitee.com/csszbb/wpfnet5 这属于WPF 动画的最基本应用了。 动画这东西我觉得重在巧。用的巧妙,不需要多高深的技术,就能做出非常好的效果。 <Border Loaded="b...

安卓之文本视图TextView及跑马灯效果

一、基本属性和设置方法 二、跑马灯用到的属性与方法说明 三、省略方式的取值说明 四、跑马灯效果案例代码    (1)布局xml文件  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/a...

菜鸟学STM32之跑马灯

微信公众号:小樊Study关注共同学习,问题或建议,请公众号留言!!! 作为一名程序员,在初步学习编程想必都绕不开一个最为基础的入门级示例“Hello World”,那么,在学习单片机时,最基础的入门示例是什么呢?没错,那就是“点亮一盏LED灯”本次将通过一个经典的跑马灯程序,带大家开启 STM32F4 之旅,通过本次的学习,你将了解到 STM32F4 的...