实现当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];

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

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn