FTWButton 2.0.1

FTWButton 2.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后一次发布2014年12月

Soroush KhanlouOwen Worley维护。



FTWButton 2.0.1

  • 作者:
  • Soroush Khanlou

FTWButton是一个UIControl子类,让您能够轻松设置颜色、渐变、文本、阴影、边框和图标属性,并在各种状态之间进行动画转换。

用法

使用FTWButton的方式类似于UIButton,但它从头开始构建。而不是依赖于背景图片,FTWButton会绘制自己。

属性

FTWButton有几个可以设置每个状态的属性

  • Frame
  • 背景颜色
  • 背景渐变颜色
  • 圆角半径
  • 图标
  • 文本
  • 文本颜色
  • 文本阴影颜色
  • 文本阴影偏移量
  • 边框颜色
  • 边框渐变颜色
  • 边框宽度
  • 阴影颜色
  • 阴影偏移量
  • 阴影不透明度
  • 阴影模糊半径
  • 内阴影颜色
  • 内阴影偏移量
  • 内阴影模糊半径

它们都可以动,可以在状态之间进行转换。

示例代码

button1 = [[FTWButton alloc] init];

button1.frame = CGRectMake(20, 20, 280, 40);
[button1 setColors:[NSArray arrayWithObjects:
              [UIColor colorWithRed:2.0f/255 green:184.0f/255 blue:255.0f/255 alpha:1.0f],
              [UIColor colorWithRed:0.0f/255 green:68.0f/255 blue:255.0f/255 alpha:1.0f],
              nil] forControlState:state];


[button1 setInnerShadowColor:[UIColor colorWithRed:108.0f/255 green:221.0f/255 blue:253.0f/255 alpha:1.0f] forControlState:UIControlStateNormal];
[button1 setInnerShadowOffset:CGSizeMake(0, 1) forControlState:UIControlStateNormal];

[button1 setShadowColor:[UIColor blackColor] forControlState:UIControlStateNormal];
[button1 setShadowOffset:CGSizeMake(0, 1) forControlState:UIControlStateNormal];
[button1 setShadowOpacity:1.0f forControlState:UIControlStateNormal];

[button1 setTextColor:[UIColor colorWithWhite:1.0f alpha:1.0f] forControlState:UIControlStateNormal];
[button1 setTextShadowColor:[UIColor colorWithWhite:78.0f/255 alpha:1.0f] forControlState:UIControlStateNormal];
[button1 setTextShadowOffset:CGSizeMake(0, -1) forControlState:UIControlStateNormal];

[button1 setText:@"Tap me" forControlState:UIControlStateNormal];
[button1 setText:@"Tapped!" forControlState:UIControlStateSelected];

[button1 addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button1];

您可以将此代码和任何其他样式以任何您喜欢的任何方式组合。

内置样式

此代码有点冗长,因此我们包含了几个默认样式,颜色由我们的设计师选择。

这些样式有:

  • 禁用样式(灰色渐变背景,灰色文本)
  • 删除样式(红色)
  • 灰色样式
  • 亮蓝色样式
  • 丰富的蓝色样式
  • 黄色样式
  • 黑色样式

请随意使用此格式添加您自己的样式。请注意,许多样式还添加了一个高亮状态。

带有这些样式的代码变得更加简单

button1 = [[FTWButton alloc] init];

button1.frame = CGRectMake(20, 20, 280, 40);
[button1 addBlueStyleForState:UIControlStateNormal];
[button1 addYellowStyleForState:UIControlStateSelected];

[button1 setText:@"Tap me" forControlState:UIControlStateNormal];
[button1 setText:@"Tapped!" forControlState:UIControlStateSelected];

[button1 addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button1];

button1.selected设置为YES将更改颜色为黄色,并将文本从“点我”淡出为“已点击”。

您的设计师会感谢您

Photoshop使内阴影和边框渐变这些事情变得很简单,但在iOS中出现得更困难(在某些情况下,与图像一起使用也困难)。如果您正在创建具有文本和颜色的动态按钮,请考虑使用FTWButton,这样您可以快速看到它在应用程序中的样子。

此外,请考虑使用类似于EDColor的颜色框架,它可以使向FTWButton添加颜色变得更加简单。

演示应用程序

示例应用程序包含多个 FTWButton 示例,包括选中时颜色变化、边框动画、渐变边框、花哨的内阴影、图标以及选中时框架变化。