iOS在固定的label上动态显示所有文字

 更新时间:2016年10月14日 08:43:03   投稿:daisy  
这篇文章给大家主要介绍了iOS中如何实现,在固定的label上动态显示所有文字的方法,文中给出了示例和思路,对大家的理解很有帮助,感兴趣的朋友们下面来一起看看吧。

照例先看下效果图:

思路

创建一个view 作为所有内容的父控件, 并且添加到上面一个 label, 作为显示文字的载体

UILabel* contentLabel = [[UILabel alloc] init];
[contentLabel sizeToFit];
contentLabel.backgroundColor = [UIColor clearColor]; _contentLabel = contentLabel; [self addSubview:self.contentLabel];

给内容viewlayer添加一个mask层, 并且设置其范围为整个viewbounds, 这样就让超出view的内容不会显示出来

CAShapeLayer* maskLayer = [CAShapeLayer layer];
maskLayer.path = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;
self.layer.mask = maskLayer;

label添加动画

CAKeyframeAnimation* keyFrame = [CAKeyframeAnimation animation];
keyFrame.keyPath = @"transform.translation.x";
keyFrame.values = @[@(0), @(-space), @(0)];
keyFrame.repeatCount = NSIntegerMax;
keyFrame.duration = self.speed * self.contentLabel.text.length;
keyFrame.timingFunctions = @[[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut], [CAMediaTimingFunction functionWithControlPoints:0 :0 :0.5 :0.5]];
keyFrame.delegate = self;
[self.contentLabel.layer addAnimation:keyFrame forKey:nil];

使用方法

// 创建
CFDynamicLabel* testLabel = [[CFDynamicLabel alloc] initWithFrame:CGRectMake(100, 300, 180, 21)];
// 设置滚动速度
testLabel.speed = 0.6;
[self.view addSubview:testLabel];
// 设置基本属性
testLabel.text = @"我不想说再见,不说再见,越长大越孤单";
testLabel.textColor = [UIColor yellowColor];
testLabel.font = [UIFont systemFontOfSize:23];
testLabel.backgroundColor = [UIColor grayColor];

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • iOS开发技巧之状态栏字体颜色的设置方法

    iOS开发技巧之状态栏字体颜色的设置方法

    有时候我们需要根据不同的背景修改状态栏字体的颜色,下面这篇文章主要给大家介绍了关于iOS开发技巧之状态栏字体颜色的设置方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-08-08
  • iOS开发之手势gesture详解

    iOS开发之手势gesture详解

    本篇文章介绍了iOS开发之手势gesture,现在分享给大家,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • iOS如何获取手机的Mac地址

    iOS如何获取手机的Mac地址

    这篇文章主要为大家详细介绍了iOS获取手机的Mac地址的多种方法,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • iOS10适配问题收集整理

    iOS10适配问题收集整理

    本文是小编给大家收集整理些有关iOS10适配问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • IOS 绘制三角形的实例详解

    IOS 绘制三角形的实例详解

    这篇文章主要介绍了IOS 绘制三角形的实例详解的相关资料,希望通过本文大家能够实现三角形的绘制,需要的朋友可以参考下
    2017-09-09
  • iOS中模态Model视图跳转和Push视图跳转的需求实现方法

    iOS中模态Model视图跳转和Push视图跳转的需求实现方法

    这篇文章主要介绍了iOS中模态Model视图跳转和Push视图跳转的需求实现,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • iOS手动添加新字体的步骤和踩坑记录

    iOS手动添加新字体的步骤和踩坑记录

    有时候为了界面的美观,可能需要添加第三方的字体库,那该如何实现呢?这篇文章主要给大家介绍了关于iOS手动添加新字体的步骤和踩坑的相关资料,需要的朋友可以参考下
    2021-08-08
  • iOS开发之如何通过PUT请求上传数据

    iOS开发之如何通过PUT请求上传数据

    众所周知一般的服务器上传数据都是用POST请求,这样通过AFNetworking的POST请求稳稳的,但是有一天遇到一个问题,服务器上传数据用的是PUT请求,发现用AFNetworking并不是那么好用,下面这篇文章就来讲一下如何通过PUT请求上传数据。有需要的朋友们可以参考借鉴。
    2016-11-11
  • iOS实现手指点击出现波纹的效果

    iOS实现手指点击出现波纹的效果

    最近在闲暇的时间做了一个反馈手指点击屏幕的效果,用到了CAShapeLayer和基本的动画知识,实现的效果很赞,这种效果使用在某些页面上肯定会给用户更有趣的体验,特别是面向儿童的app中。文中给出了详细的示例代码,感兴趣的朋友们下面来一起看看吧。
    2016-12-12
  • iOS开发UICollectionView实现拖拽效果

    iOS开发UICollectionView实现拖拽效果

    这篇文章主要为大家详细介绍了iOS开发UICollectionView实现拖拽效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01

最新评论