FTWButton
是一个UIControl
子类,让您能够轻松设置颜色、渐变、文本、阴影、边框和图标属性,并在各种状态之间进行动画转换。
使用FTWButton
的方式类似于UIButton,但它从头开始构建。而不是依赖于背景图片,FTWButton
会绘制自己。
FTWButton有几个可以设置每个状态的属性
它们都可以动,可以在状态之间进行转换。
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
示例,包括选中时颜色变化、边框动画、渐变边框、花哨的内阴影、图标以及选中时框架变化。