TTSwitch 0.0.6

TTSwitch 0.0.6

测试测试
语言语言 Obj-CObjective C
许可证 WTFPL
发布最新发布2014年12月

Scott Penrose维护。



TTSwitch 0.0.6

  • 作者
  • Scott Penrose

一开关统治全局。

TTSwitch是用图像构建的UISwitch替换。现在您可以完全自定义其外观,使其符合您的要求。同时,当开关值更改时,它还添加了块支持。

开关还支持UIAppearance。您可以在全局设置所有TTSwitch外观,然后在创建实例时,它将已经进行了样式设置。

 

入门

Git子模块

将TTSwitch作为子模块添加到您的项目或从主分支此处下载代码。

简单地将TTSwitch文件夹中的TTSwitch.h + TTSwitch.m文件添加到您的Xcode项目中。然后在您想使用TTSwitch的源文件中包含#include "TTSwitch.h"

资源

为了使创建自定义开关变得容易,我们包含了应用程序中出现的开关的PSD。您可以使用这些或者创建自己的。您还可以将此发送给您的设计师,以便他们知道如何设计和裁剪开关。我们还包括了一个开关图层图的示意图,您可以看到其布局。

示例用法

UIAppearance

全局设置应用程序中所有TTSwitch的外观。

[[TTSwitch appearance] setTrackImage:[UIImage imageNamed:@"round-switch-track"]];
[[TTSwitch appearance] setOverlayImage:[UIImage imageNamed:@"round-switch-overlay"]];
[[TTSwitch appearance] setTrackMaskImage:[UIImage imageNamed:@"round-switch-mask"]];
[[TTSwitch appearance] setThumbImage:[UIImage imageNamed:@"round-switch-thumb"]];
[[TTSwitch appearance] setThumbHighlightImage:[UIImage imageNamed:@"round-switch-thumb-highlight"]];
[[TTSwitch appearance] setThumbMaskImage:[UIImage imageNamed:@"round-switch-mask"]];
[[TTSwitch appearance] setThumbInsetX:-3.0f];
[[TTSwitch appearance] setThumbOffsetY:-3.0f];

默认开关

TTSwitch *switch = [[TTSwitch alloc] initWithFrame:(CGRect){ CGPointZero, { 76.0f, 27.0f } }];
switch.trackImage = [UIImage imageNamed:@"square-switch-track"];
switch.overlayImage = [UIImage imageNamed:@"square-switch-overlay"];
switch.thumbImage = [UIImage imageNamed:@"square-switch-thumb"];
switch.thumbHighlightImage = [UIImage imageNamed:@"square-switch-thumb-highlight"];

指圈大于轨道的开关

TTSwitch *switch = [[TTSwitch alloc] initWithFrame:(CGRect){ CGPointZero, { 76.0f, 27.0f } }];
switch.trackImage = [UIImage imageNamed:@"square-switch-track"];
switch.overlayImage = [UIImage imageNamed:@"square-switch-overlay"];
switch.thumbImage = [UIImage imageNamed:@"square-switch-thumb"];
switch.thumbHighlightImage = [UIImage imageNamed:@"square-switch-thumb-highlight"];
switch.trackMaskImage = [UIImage imageNamed:@"square-switch-mask"];
switch.thumbOffsetY = -3.0f; // Set this to -3 to compensate for shadow 

带左右阴影且不超出边框的切换

TTSwitch *switch = [[TTSwitch alloc] initWithFrame:(CGRect){ CGPointZero, { 76.0f, 27.0f } }];
switch.trackImage = [UIImage imageNamed:@"round-switch-track"];
switch.overlayImage = [UIImage imageNamed:@"round-switch-overlay"];
switch.thumbImage = [UIImage imageNamed:@"round-switch-thumb"];
switch.thumbHighlightImage = [UIImage imageNamed:@"round-switch-thumb-highlight"];
switch.trackMaskImage = [UIImage imageNamed:@"round-switch-mask"];
switch.thumbMaskImage = [UIImage imageNamed:@"round-switch-mask"];
switch.thumbOffsetY = -3.0f; // Set this to -3 to compensate for shadow 

带有开/关文字标签的切换

TTSwitch *roundLabelSwitch = [[TTSwitch alloc] initWithFrame:(CGRect){ CGPointZero, { 76.0f, 28.0f } }];
// use normal setup and add
roundLabelSwitch.trackImage = [UIImage imageNamed:@"round-switch-track-no-text"];
roundLabelSwitch.labelsEdgeInsets = (UIEdgeInsets){ 3.0f, 10.0f, 3.0f, 10.0f };
roundLabelSwitch.onString = NSLocalizedString(@"ON", nil);
roundLabelSwitch.offString = NSLocalizedString(@"OFF", nil);
roundLabelSwitch.onLabel.textColor = [UIColor greenColor];
roundLabelSwitch.offLabel.textColor = [UIColor redColor];

致谢

TTSwitch是由Scott Penrose(@scottpenrose)和Two Toasters(@twotoasters)在Go Try It On的开发中创建的。

许可证

TTSwitch在WTFPL下可用。更多信息请参阅LICENSE文件。