实现当UILable的内容超出其范围后自动滚动效果

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




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


在写代码之前,我们还有一个准备工作,在stroyBoard中,找到需要实现效果的viewController,并向需要展示滚动效果label的地方拖一个UIView空间,并将其大小确定好(范围和之前需要展示滚动效果的label相同),之后将这个UIView的Class填写为CBAutoScrollLabel,如下图:




如果是纯代码写的界面,同理操作即可。


下面是主要的代码示例:


在需要实现效果的controller中,将刚才拖好的UIView进行关联。


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


然后我们在viewDidLoad中


self.autoScrollLabel.text = @"测试label";

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];


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值