zoukankan      html  css  js  c++  java
  • 实现当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];

     

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

     
  • 相关阅读:
    【原创】VNC-view配置
    【LVM】LVM自动扩容脚本
    【linux磁盘分区--格式化】fdisk,parted,mkfs.ext3
    【原】Centos 7 下创建LVM流程
    【Spring-AOP-学习笔记-7】@Around增强处理简单示例
    【转】libvirt kvm 虚拟机上网 – Bridge桥接
    【phantomjs】使用phantomjs生成highChart的图片(待完善)
    【Redis】使用Redis Sentinel实现Redis HA
    【Redis】配置redis主从复制
    【转载】优秀博文转载
  • 原文地址:https://www.cnblogs.com/fengmin/p/5464390.html
Copyright © 2011-2022 走看看