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

照例先看下效果图:

思路

创建一个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
, 滚动
, label
, label文字滚动
, 文字位置
过长
ios动态计算label高度、ios动态计算label宽度、ios 动态创建label、ios label动态高度、ios label文字靠上,以便于您获取更多的相关知识。

时间: 2024-10-27 15:52:57

iOS在固定的label上动态显示所有文字_IOS的相关文章

iOS如何固定导航栏返回按钮大小

问题描述 iOS如何固定导航栏返回按钮大小 原因:系统返回按钮会随着push之前的controller.title的长度而变长,从而影响当前controller的标题位置 前提:必须使用系统导航栏自带的返回按钮,不要重新self.naigationBarItem.leftItem = XXX 解决方案 可以固定push之前的controller.title的字数,假如你的title需要很长,可以自定义一个label直接加到navigationItem.titleView上, 这样不会改变push

ios-iOS UIMenuController 在Label上添加自定义菜单栏,会与TextFile起冲突

问题描述 iOS UIMenuController 在Label上添加自定义菜单栏,会与TextFile起冲突 代码: #import "ViewController.h" @interface ViewController () @property(nonatomic,strong)UILabel *lblTitle; @property(nonatomic,strong)UITextField *txtTitle; @end @implementation ViewControll

ios-无法实现计算,打印到label上

问题描述 无法实现计算,打印到label上 应用中点击计算按钮时的代码: float sqft = ([textfield1.text floatValue]); float thick= ([textfield2.text floatValue]); float cos = ([textfield3.text floatValue]); float eff = ([textfield4.text floatValue]); float num = ((thick*.5)*sqft)/eff;

如何将图图桌面固定在一个位置上不被拖动

将图图桌面图标管理软件固定在一个位置上的方法如下: 1.右击图图桌面面板边框,点击[更多选项].(如图) 2.在"固定在桌面上"前打勾,点确定.(如图)

ios-请问:iOS环信后台能上传多个开发证书吗?

问题描述 请问:iOS环信后台能上传多个开发证书吗? 在iOS环信后台开发的过程中遇到一个问题.请问:iOS环信后台能上传多个开发证书吗? 解决方案 后台是可以上传多个证书的.

用VB接收了串口数据后,在坐标图上动态显示的问题,求高人指点 #VB新手#

问题描述 用VB接收了串口数据后,在坐标图上动态显示的问题,求高人指点 #VB新手# 本程序串口数据能接收,坐标图(转速-时间)也画好了,问题在用Pset打点连线中,Pset(xy)中,怎样把最新的数据放入y,并且在超过x轴范围后自动清屏重打或者消隐,程序在链接里面,在线等 解决方案 不过不需要自己去画,可以用mscharthttp://blog.163.com/wzhxxt@126/blog/static/4189356320121051510832/直接绑定你的数组就可以了. 解决方案二:

ios如何实现视频的上传

问题描述 ios如何实现视频的上传 请问应该如何实现在ios手机上进行视频上传,具体思路是怎么样,请大神指点一下 解决方案 分为两部分,一个是服务器端接受文件:http://blog.sina.com.cn/s/blog_4cc16fc50100bw3n.html 一个是客户端,参考:http://blog.csdn.net/heartofthesea/article/details/10005437 解决方案二: 参考iOS 视频 上传IOS上传图片.视频.文件原理 解决方案三: 所有系统视频

4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(

 新建项目13IO 13IO.pro HEADERS += \     MyWidget.h   SOURCES += \     MyWidget.cpp   QT += gui widgets network CONFIG += C++11 MyWidget.h #ifndef MYWIDGET_H #define MYWIDGET_H   #include <QWidget>   class MyWidget : public QWidget {     Q_OBJECT publi

ios中怎样添加scrollview上button的点击事件

问题描述 ios中怎样添加scrollview上button的点击事件 在scrollview上面,自定义的button?点击没有反应 解决方案 怎么可能呢,有绑定事件处理函数吧 解决方案二: addaddTarget action 你确定你的selector实现了? 解决方案三: 使用UITapGestureRecognizer 初始化一个点击动作, 然后使用方法: addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer添加