Latest 1.0.3
Homepage https://github.com/CoulsonWang/CWCalendarLabel
License MIT
Platforms ios 7.0, requires ARC
Authors

Pod Version
Pod Platform
Pod License

功能简介

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

安装

1.CocoaPods

如果你的项目使用CocoaPods管理三方库,那么仅需在你的Podfile文件中,加上pod 'CWCalendarLabel'即可。

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

Latest podspec

{
    "name": "CWCalendarLabel",
    "version": "1.0.3",
    "summary": "u8f7bu91cfu7ea7u7684u65e5u5386u5f62u5f0fu6edau52a8u52a8u753bu6587u672cu63a7u4ef6",
    "description": "CWCalendarLabelu662fu4e00u4e2au8f7bu91cfu7ea7u7684Labelu63a7u4ef6uff0cu53efu4ee5u5febu901fu5b9eu73b0u65e5u5386u6548u679cu7684u6587u672cu52a8u753bu3002",
    "homepage": "https://github.com/CoulsonWang/CWCalendarLabel",
    "license": "MIT",
    "authors": {
        "Coulson_Wang": "[email protected]"
    },
    "source": {
        "git": "https://github.com/CoulsonWang/CWCalendarLabel.git",
        "tag": "1.0.3"
    },
    "platforms": {
        "ios": "7.0"
    },
    "requires_arc": true,
    "source_files": "CWCalendarLabel/CWCalendarLabel/CWCalendarLabel/*"
}

Pin It on Pinterest

Share This