我们常见走马灯样式的功能,下面整理一下 Object-C 与 Swift 的实现代码

OC
UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(10,200, self.view.bounds.size.width, 100)];
label3.backgroundColor = [UIColor redColor];
label3.text =@"走马灯 走马灯 走马灯 走马灯 走马灯 走马灯 走马灯 走马灯~~~";
[self.view addSubview:label3];CGRect frame = label3.frame;
frame.origin.x = -180;
label3.frame = frame;
[UIView beginAnimations:@"testAnimation"context:NULL];
[UIView setAnimationDuration:8.8f];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDelegate:self];
[UIView setAnimationRepeatAutoreverses:NO];
[UIView setAnimationRepeatCount:999999];
frame = label3.frame;
frame.origin.x =350;
label3.frame = frame;
[UIView commitAnimations];

Swift
//添加上计算文字长度,优化动画效果
let str : NSString = "走马灯 走马灯 走马灯 走马灯 走马灯 走马灯 走马灯 走马灯......"
let font : UIFont = UIFont.systemFont(ofSize: 14)
let attrs : NSDictionary = [NSFontAttributeName : font]
let size : CGSize = str.boundingRect(with: CGSize.init(width: kScreenWidth, height: CGFloat(MAXFLOAT)), options: [.usesLineFragmentOrigin, .usesFontLeading], attributes: attrs as! [String : Any], context: nil).size
let lab = UIFactory.create_ALabel(text: str as String, superView: self.view)
lab.frame = CGRect(x: 15, y: 10, width: kScreenWidth, height: 20)
lab.textColor = UIColor.hrgb("666666")
lab.font = font
var frame : CGRect = lab.frame
frame.origin.x = size.width
lab.frame = frame
UIView.beginAnimations("testAnimation", context: nil)
UIView.setAnimationDuration(8.8)
UIView.setAnimationCurve(.linear)
UIView.setAnimationDelegate(self)
UIView.setAnimationRepeatAutoreverses(false)
UIView.setAnimationRepeatCount(999999)
frame = lab.frame
frame.origin.x = -size.width
lab.frame = frame
UIView.commitAnimations()

 

转载于:https://www.cnblogs.com/HMJ-29/p/7085615.html

OC Swift 走马灯效果相关推荐

  1. 简单JS实现走马灯效果的文字(无需jQuery)

    效果类似:(抱歉,图片是静态的) 写一段html,需要走马灯上下跳动的内容,但每次只显示一行: <hr size="0" align="center" s ...

  2. android 走马灯效果

    最进其实自己也没什么想写的内容,不过自己觉得还是需要每天写点东西,好的习惯还是要保持的.所以今天讲讲textview的文字显示走马灯的效果,这个实在太简单了. 项目开发中有些时候TextView的文本 ...

  3. html纵向的跑马灯效果,HTML+CSS入门 如何实现跑马灯/走马灯效果

    本篇教程介绍了HTML+CSS入门 如何实现跑马灯/走马灯效果,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实 ...

  4. Jquery 图片走马灯效果原理

    本篇只讲解水平走马灯效果,垂直向上走马灯效果不讲解,原理一样,但是水平走马灯效果有一个小坑.待会讲解 照例先上代码: HTML: <div class="box"> & ...

  5. 初学VUE 走马灯效果

    初学VUE 走马灯效果 很简单的走马灯效果 代码如下: <!DOCTYPE html> <html lang="en"><head><me ...

  6. Marquee标签实现走马灯效果

    利用marquee标签,让文字滚动实现走马灯效果 direction滚动方向 属性值:up.down.left.right,默认方向是从右向左滚动 <marquee direction=&quo ...

  7. html语言怎么做到走马灯,HTML+CSS入门 如何实现跑马灯/走马灯效果

    本篇教程介绍了HTML+CSS入门 如何实现跑马灯/走马灯效果,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实 ...

  8. 原生js进阶版轮播图实现(走马灯效果,无缝衔接)

    原生js进阶版轮播图实现(走马灯效果,无缝衔接) 利用原生js手写一个轮播图,是上一篇文章的简易版的一个进阶,本次轮播图主要是利用定位和定时器实现了走马灯效果,并且是左右轮播.实现过程与代码也是很简单 ...

  9. jquery 立体走马灯_Jquery 图片走马灯效果原理

    本篇只讲解水平走马灯效果,垂直向上走马灯效果不讲解,原理一样,但是水平走马灯效果有一个小坑.待会讲解 照例先上代码: HTML: 在 中,再包含了一个div,且设置了一个很比较大的宽度,是为了解决一个 ...

最新文章

  1. 为什么阿里巴巴要求日期格式化时必须有使用y表示年,而不能用Y?
  2. CBS多机器人路径规划
  3. Visual Studio 2017 版本 15.5.5
  4. 【指标统计】删除抖动遥信
  5. android 外键,android - 创建一个具有外键的sqlite数据库表,作为android中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...
  6. 【其他】U盘安装Ubuntu12.04成功后系统无法启动的问题
  7. springboot的IOC依赖注入与控制反转-举例(转载+自己整理)
  8. GPS实验一:GPS手持机的使用
  9. 计算机专业直接工作简历,2017计算机专业工作简历
  10. SpringCloud工作笔记051---SpringCloud打包部署流程
  11. Ubuntu12.04 apt-get 安装mysql
  12. 针式打印机套打+lodop
  13. java native方法使用
  14. VC++ 源码实现通达信公式管理器2
  15. 人脸关键点检测face_landmark
  16. Qt 5.12--color
  17. matlab和robotstudio,一种从Robotstudio环境中导出机器人模型并在MATLAB下使其可视化的研究记录...
  18. 2021年幼儿园教师招聘:规则性游戏的指导
  19. 生物信息学之抗癌药物反应论文阅读三:ML+PDX
  20. 电工电子电力拖动及自动化技术考核实训台QY-DG800D

热门文章

  1. 程序代码移植和烧录需要注意什么_购买建站模板需要注意什么问题
  2. java模拟登陆_java-模拟登陆练习(示例代码)
  3. 【开源项目】基于Directx屏幕录制
  4. LeetCode 面试题 链表中倒数第K个点
  5. mysql多实例主从_window 下 mysql 单机多实例以及主从同步
  6. html标签转换日期格式,input标签的type为date,显示的日期格式样式更改
  7. 在线画 有穷状态自动机 的软件_怎么画思维导图?不用下载软件,在线就能操作...
  8. python用pip安装numpy mac_小白入门Python,mac下如何安装pip、ipython
  9. 光纤收发器按照网管怎么分类
  10. 百兆工业交换机与千兆工业交换机如何计算码率?