前几天做新版本遇到需要文本滚动的需求,当时考虑到以后可能会扩展和需求变动,所以当时就参考了一下资料,自己封装了一个简单的,基本可以满足日常使用,这几天闲下来了就整理了一下,效果图如下
演示.gif
使用很简单,看一下.h文件
#import <UIKit/UIKit.h>
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小白,错误的地方还望见谅。
网友评论