CWCalendarLabel 1.0.3

CWCalendarLabel 1.0.3

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最后发布2017年8月

Coulson_Wang维护。



  • Coulson_Wang

功能简介

CWCalendarLabel 是一个轻量级的 Label 控件,可以快速实现日历效果的文本动画。

安装

2.手动导入

下载项目文件夹后,将 CWCalendarLabel 文件夹拖拽到你的项目中,即可集成。

导入头文件

在需要用到 CWCarouselView 的文件中,导入 #import "CWCalendarLabel" 即可

演示 Demo

本工程文件中附带了一个演示 Demo:CWCalendarLabelDemo,在 Xcode 中直接运行即可查看。

使用方法

使用 CWCalendarLabel 类代替 UILabel

导入头文件后,只需创建一个 CWCalendarLabel 对象,将其替换你的 UILabel,添加到需要显示的 View 上,即可创建该控件:

#import "CWCalendarLabel.h"
	
	CWCalendarLabel *calendarLabel = [[CWCalendarLabel alloc] init];
    calendarLabel.text = @"测试";
	[self.view addSubview:calendarLabel];

实现滚动切换文本

CWCalendarLabel 中只有一个核心方法,只需调用该方法即可:

/**
 核心方法,播放滚动动画

 @param nextText 新的文本
 @param direction 滚动方向
 */
- (void)showNextText:(NSString *)nextText withDirection:(CWCalendarLabelScrollDirection)direction;

其中滚动方向是一个枚举,支持向上滚动和向下滚动两个方向:

typedef enum : NSUInteger {
    CWCalendarLabelScrollToTop,
    CWCalendarLabelScrollToBottom,
} CWCalendarLabelScrollDirection;

方法调用示例

static int i = 99;
- (IBAction)scrollToTop:(UIButton *)sender {
    i += 1;
    NSString *str = [NSString stringWithFormat:@"%d",i];
    [self.label showNextText:str withDirection:CWCalendarLabelScrollToTop];
}

每次点击按钮,都会播放一次滚动动画,显示新的文本。

自定义属性

由于继承自 UILabel,只要 UILabel 中具有的属性,CWCalendarLabel 均支持。在设置 Label 属性的同时,也会为动画 Label 设置相同的属性。

可自定义的属性有:

·自定义动画时长
// 动画播放时长,默认为0.5
@property (assign, nonatomic) NSTimeInterval animateDuration;

// 示例
calendarLabel.animateDuration = 1.0;
·自定义间距:
// 动画label与原label之间的额外垂直间距,默认为0(紧贴)
@property (assign, nonatomic) CGFloat distance;

// 示例
calendarLabel.distance = 10.0;

如果您对自定义属性有其他好想法或建议,欢迎 issue 或 pull request!

实现思路

  • 调用核心方法时,添加两个临时的 lable,用于播放动画,并暂时隐藏原有 lable