[分享]iOS开发-实现当UILable的内容超出其范围后自动滚动效果

本文主要介绍 【当UILabel的内容超出其自身的宽度范围后,进行互动展示的效果】,我们先来看一下Demo的效果图:

《[分享]iOS开发-实现当UILable的内容超出其范围后自动滚动效果》

实际实现起来并不十分繁杂,在这里,为了开发的效率,我们使用了一个已经封装好的UILabel控制类CBAutoScrollLabel:点击这里下载这里下载

在写代码之前,我们还有一个准备工作,在stroyBoard中,找到需要实现效果的viewController,并向需要展示滚动效果label的地方拖一个UIView空间,并将其大小确定好(范围和之前需要展示滚动效果的label相同),之后将这个UIView的Class填写为CBAutoScrollLabel,如下图:
《[分享]iOS开发-实现当UILable的内容超出其范围后自动滚动效果》
如果是纯代码写的界面,同理操作即可。

下面是主要的代码示例:
在需要实现效果的controller中,将刚才拖好的UIView进行关联

@property (weak, nonatomic) IBOutlet CBAutoScrollLabel *autoScrollLabel;

然后我们在viewDidLoad中

self.autoScrollLabel.text = @"正在为17名儿童提供健康管理服务 您已经为36名儿童家庭推送了55关爱信息";
self.autoScrollLabel.layer.masksToBounds = YES;
self.autoScrollLabel.layer.cornerRadius = 4;
self.autoScrollLabel.textColor = kColorView;
self.autoScrollLabel.backgroundColor = [UIColor whiteColor];
self.autoScrollLabel.font = [UIFont systemFontOfSize:12];//字体大小
self.autoScrollLabel.labelSpacing = 30; // 开始和结束标签之间的距离
self.autoScrollLabel.pauseInterval = 1.7; // 一秒的停顿之后再开始滚动
self.autoScrollLabel.scrollSpeed = 30; // 每秒像素
self.autoScrollLabel.textAlignment = NSTextAlignmentCenter; // 不使用自动滚动时的中心文本
self.autoScrollLabel.fadeLength = 12.f;
self.autoScrollLabel.scrollDirection = CBAutoScrollDirectionLeft;
[self.autoScrollLabel observeApplicationNotifications];

这样就基本完成了,如果有不同需求的效果可以自行进行调整

    原文作者:ShevaKuilin
    原文地址: https://segmentfault.com/a/1190000005065196
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞