[iOS开发]文本滚动的实现,类似LED文字滚动效果

前几天做新版本遇到需要文本滚动的需求,当时考虑到以后可能会扩展和需求变动,所以当时就参考了一下资料,自己封装了一个简单的,基本可以满足日常使用,这几天闲下来了就整理了一下,效果图如下


[iOS开发]文本滚动的实现,类似LED文字滚动效果_第1张图片
演示.gif

使用很简单,看一下.h文件

#import 

typedef NS_ENUM(NSInteger,MyTextScrollMode){
    MyTextScrollContinuous,     //连续的滚动
    MyTextScrollSpace,          //间隔的滚动
    MyTextScrollRound           //往复的滚动
};

typedef NS_ENUM(NSInteger,MyTextScrollDirection){
    MyTextScrollMoveLeft,       //向左滚动   
    MyTextScrollMoveRight       //向右滚动
};

@interface MyScrollTextView : UIView

//滚动类型
@property (nonatomic) MyTextScrollMode textScrollMode;
//滚动方向
@property (nonatomic) MyTextScrollDirection textScrollDirection;
//字体颜色
@property (nonatomic,strong) UIColor * textColor;
//文字内容
@property (nonatomic,strong) NSString * text;
//字体大小
@property (nonatomic,strong) UIFont * textFont;
//滚动速度 不设置就默认
@property (nonatomic)CGFloat speed;
//连续滚动时两段之间间隔大小
@property (nonatomic)CGFloat disance;

//开始滚动
- (void)startScroll;
@end

如演示图所示的,有三种模式可以设置,只有当文字长度超过ScrollTextView的宽度时,文字才会滚动,使用方法如下:

 //设置连续滚动
    self.ContinuousScrollTextView.textScrollMode = MyTextScrollContinuous;
    self.ContinuousScrollTextView.textScrollDirection = MyTextScrollMoveLeft;
    self.ContinuousScrollTextView.textColor = [UIColor orangeColor];
    self.ContinuousScrollTextView.textFont = [UIFont systemFontOfSize:17.f];
    self.ContinuousScrollTextView.text = @"我是连续的滚动测试测试测试测试测试测试";

开始滚动调用方法:

[self.ContinuousScrollTextView startScroll];

具体的使用这里有一个小demo,有兴趣可以看一下
点我进入
大家觉得不错给个star,谢谢
使用过程中有问题可以随时探讨,iOS小白,错误的地方还望见谅。

你可能感兴趣的:([iOS开发]文本滚动的实现,类似LED文字滚动效果)