Swift 走马灯

作者: MJBaby | 来源:发表于2017-06-27 15:44 被阅读527次

我们常见走马灯样式的功能,下面整理一下 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()

相关文章

  • Swift 走马灯

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

  • Swift第5天

    参考 自学 iOS - 三十天三十个 Swift 项目 《Project05走马灯》 实现效果(自己仿写,Swif...

  • swift label简单实现 走马灯

    importUIKit classCyclicScrollingADView :UIView{ varfirstL...

  • swift实现文字走马灯的效果

    简介: 在最近的项目中有关MP3播放的需求,且有的MP3的名称较长;如果显示时,固定宽度和不限控件的宽度,都不满足...

  • 走马灯的记忆

    临近年关,突然记起小时候父亲做的走马灯。于是心血来潮,上网订了一盏走马灯,只是此走马灯和我记忆中的走马灯相差甚远,...

  • 走马灯

    说到走马灯大家会想到什么呢?我说的走马灯也许跟大家的大相径庭,我们家睡觉是走马灯形式的。 儿子小的时候...

  • 2018年最值得买的圣诞礼物

    DIPTYQUE 2018圣诞限量走马灯旋转烛台套装 Diptyque 圣诞限量走马灯,每年未到圣诞就抢光光的,到...

  • 走马灯

    “你还没睡?又被鬼压床了?”锟睡得很轻我一起身他就醒了。 “没,做了一个噩梦。” “什么噩梦?”锟在床上坐了起来。...

  • 走马灯

    在梦里,我能飞。 近年来,我的身体越来越轻,经历的事情也越来越轻,看见的颜色越来越浅。白色噪音越飘越远,像老唱片的...

  • 走马灯

    走马灯 NSString *str = @"人生若只如初见,何事秋风悲画扇。"; self.scrollLabel...

网友评论

    本文标题:Swift 走马灯

    本文链接:https://www.haomeiwen.com/subject/qvsecxtx.html