BFPaperCheckbox, iOS复选框灵感来源于谷歌材料设计

分享于 

9分钟阅读

GitHub

  繁體 雙語
iOS Checkboxes inspired by Google's Paper Material Design.
  • 源代码名称:BFPaperCheckbox
  • 源代码网址:http://www.github.com/bfeher/BFPaperCheckbox
  • BFPaperCheckbox源代码文档
  • BFPaperCheckbox源代码下载
  • Git URL:
    git://www.github.com/bfeher/BFPaperCheckbox.git
    Git Clone代码到本地:
    git clone http://www.github.com/bfeher/BFPaperCheckbox
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/bfeher/BFPaperCheckbox
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    BFPaperCheckbox

    CocoaPods

    iOS复选框灵感来源于谷歌材料设计。

    Animated Screenshot

    现在具有接口生成器定制支持 !

    是BFPaperCheckbox的一个子类,它的行为非常像来自谷歌设计实验室的新的paper。 所有动画都是异步的,并且在sublayers上执行。 BFPaperCheckboxes可以立即使用令人舒适的默认行为,但是它们可以轻松定制 ! 复选标记颜色和循环颜色,正和负( 对于选中和未选中的) 都可以通过 public 属性轻松定制。 也可以设置龙头圆是否应该从龙头的位置出现,也可以直接从控件中心出现。

    默认情况下,BFPaperCheckboxes使用"智能颜色",它将tap圈颜色的positive标记的颜色。 你可以通过以下方式设置自己的颜色: .positiveColor.negativeColor。请注意,设置这些选项将禁用智能颜色功能。

    注意:不要使用超慢动画时间。 它打破了视觉效果( 虽然不是功能) +,你为什么会?

    属性

    BOOL isChecked

    一个布尔值,表示复选框的状态。 是表示选中,无选中。

    CGFloat touchDownAnimationDuration

    ( 转到 Steelers ) 表示在触摸下发生的动画持续时间的CGFLoat。 默认值为 0.25秒。 注意,负值将转换为默认值。 没有 FUNNY !

    CGFloat touchUpAnimationDuration

    一个 CGFLoat,表示在触摸时发生的动画的持续时间 ! 默认值为 2 * touchDownAnimationDuration秒。 注意,负值将转换为默认值。 没有 FUNNY !

    BOOL rippleFromTapLocation

    设置为是的标志,使tap圆从触摸点溢出。 如果设置为否,则按钮圆将始终从按钮中心旋转。 默认为无。

    UIColor *checkmarkColor

    用于标记颜色的UIColor。 请注意,self.tintColor 将用于方形方框颜色。

    UIColor *positiveColor

    用于显示在点击框中的圆的UIColor。 使用 .checkmarkColor 属性巧妙地计算默认值。 设置为零以访问默认值。 推荐的Alpha值小于 1.

    UIColor *negativeColor

    用于循环的UIColor,它显示在你点击取消选中框的位置。 使用 .tintColor 属性巧妙地计算默认值。 设置为零以访问默认值。 推荐的Alpha值小于 1.

    CGFloat cornerRadius

    表示控件的角半径的CGFloat值。 默认值为( bfpapercheckboxdefaultdiameter/2 )。请注意,负值将转换为 0. 没有 FUNNY !

    CGFloat startDiameter

    一个 CGFLoat,表示在生成之前一个圆圆圆的直径,它在生成之前。 默认值为 1. f. 注意负值和小于 1的值将转换为默认值。 没有 FUNNY !

    CGFloat endDiameter

    表示抽头圆直径的CGFloat值。 默认情况下,它将占用整个复选框背景圆。 请注意,零值和负值将转换为默认值。 没有 FUNNY !

    CGFloat burstAmount

    表示在爆炸时应该增加抽头圆直径的CGFloat值。 默认值为 0,因为我们无法看到默认 .tapCircleDiameter的爆发,它占用整个帧。 如果你想看到爆炸,让 .tapCircleDiameter 比控件本身的直径小一些。 注意,负值将转换为默认值。 没有 FUNNY !

    id <BFPaperCheckboxDelegate> delegate

    要使用我们的协议的委托 ! 它所遵循的函数如下所示。

    委托函数

    (void)paperCheckboxChangedState:(BFPaperCheckbox *)checkbox

    一种可选协议方法,用于检测复选框状态更改时的情况。 你可以在这里检查它的当前状态。

    常数

    CGFloat const bfPaperCheckboxDefaultDiameter

    size ( 49磅) 推荐的推荐值。 ( 如。 [[BFPaperCheckbox alloc] initWithFrame:CGRectMake(x, y, bfPaperCheckboxDefaultDiameter, bfPaperCheckboxDefaultDiameter)]; )

    命令行实用工具函数( 以编程方式设置状态)

    (void)switchStatesAnimated:(BOOL)animated

    使用这里函数手动/以编程方式显示这里复选框的状态。 @param animated 用于选择是否对更改进行动画处理的布尔标志。

    (void)checkAnimated:(BOOL)animated

    使用这里功能手动检查复选框。 如果已经检查,则不执行任何操作。 @param animated 用于选择是否对更改进行动画处理的布尔标志。

    (void)uncheckAnimated:(BOOL)animated

    使用这里功能手动取消选中复选框。 如果已经取消选中,则不执行任何操作。 @param animated 用于选择是否对更改进行动画处理的布尔标志。

    用法

    将 BFPaperCheckbox 头和实现文件添加到项目中。 ( &。h。)

    创建一个不错的默认 BFPaperCheckbox

    BFPaperCheckbox *paperCheckbox = [[BFPaperCheckbox alloc] initWithFrame:CGRectMake(x, y, bfPaperCheckboxDefaultDiameter, bfPaperCheckboxDefaultDiameter)];

    自定义示例

    self.programmaticPaperCheckbox = [[BFPaperCheckbox alloc] initWithFrame:CGRectMake(0, 0, bfPaperCheckboxDefaultDiameter, bfPaperCheckboxDefaultDiameter)];
    self.programmaticPaperCheckbox.delegate = self;
    self.programmaticPaperCheckbox.tintColor = [UIColor colorWithRed:97.f/255.f green:97.f/255.f blue:97.f/255.f alpha:1];
    self.programmaticPaperCheckbox.touchUpAnimationDuration = 0.5f;
    self.programmaticPaperCheckbox.touchDownAnimationDuration = 0.5f;
    self.programmaticPaperCheckbox.rippleFromTapLocation = YES;
    self.programmaticPaperCheckbox.checkmarkColor = [UIColor blueColor];
    self.programmaticPaperCheckbox.positiveColor = [[UIColor greenColor] colorWithAlphaComponent:0.5f];
    self.programmaticPaperCheckbox.negativeColor = [[UIColor redColor] colorWithAlphaComponent:0.5f];
    self.programmaticPaperCheckbox.startDiameter = 10;
    self.programmaticPaperCheckbox.endDiameter = 35;
    self.programmaticPaperCheckbox.burstAmount = 10;
    [self.view addSubview:self.programmaticPaperCheckbox];

    手动设置状态

    使用'switchstates。切换。'

    [self.paperCheckbox switchStatesAnimated:animate];

    手动选中或者取消选中:

    if (self.paperCheckbox.isChecked) {
     [self.paperCheckbox uncheckAnimated:animate];
    } else {
     [self.paperCheckbox checkAnimated:animate];
    } 

    CocoaPods

    CocoaPods是在 objective-c 项目中管理库依赖关系的最佳方法。 了解更多关于 http://cocoapods.org的信息。

    将这个添加到你的podfile中,以便向你的项目添加 BFPaperCheckbox。

    platform :ios, '7.0'pod 'BFPaperCheckbox'

    许可证

    BFPaperCheckbox 使用MIT许可证:

    请参见包含许可证文件。


    DES  MAT  设计  Material  MATE  材料设计  
    相关文章