无需耗费时间的试错方法,利用构建和运行循环,在iOS应用中更改颜色。
设计师提供给你的着色颜色在设备上看起来真的有很大的不同,您遇到过这样的问题吗?
即使您找到了完美的匹配着色颜色用于导航栏,当为分段控制器设置时看起来也完全不同?
临时将TCColorTest添加到您的项目中并设置好。要更改某个元素的颜色,只需用鼠标拖动从TCColorTest到该元素。然后可以通过调整滑动条来设置颜色。
摇动设备以隐藏/显示TCColorTest。长按TCColorTest直到它变成绿色,然后移动它。
1 将TCColorTest文件夹复制到您的项目中
2 将以下导入添加到您的应用程序代理中
#import "TCColorTest.h"
#import "TCColorTestBehaviours.h"
3 在applicationDidFinishLaunching的末尾添加以下代码
[TCColorTest colorTestInKeyWindow];
[TCColorTestBehaviours addDefaultBehaviours];
UICatalog作为示例应用已包含在内。只需下载仓库,打开项目,然后构建并运行以尝试TCColorTest。
您可以通过在实现中使您的类遵守TCColorTestObject协议,或使用块来添加对自定义UI元素的支持。
// Sample for UIButton
[TCColorTest addClass:[UIButton class]
availableMethodsBlock:^NSArray *(id _self) {
return @[@"backgroundColor",@"tintColor",@"titleColor",@"titleShadowColor"];
}
colorForMethodBlock:^UIColor *(UIButton* _self, NSUInteger index) {
switch (index) {
case 0:
return [_self backgroundColor];
case 1:
return [_self tintColor];
case 2:
return [_self titleColorForState:UIControlStateNormal];
case 3:
return [_self titleShadowColorForState:UIControlStateNormal];
default:
return nil;
}
}
setColorForMethodBlock:^(UIButton* _self, UIColor *color, NSUInteger index) {
switch (index) {
case 0:
[_self setBackgroundColor:color];
break;
case 1:
[_self setTintColor:color];
break;
case 2:
[_self setTitleColor:color forState:UIControlStateNormal];
break;
case 3:
[_self setTitleShadowColor:color forState:UIControlStateNormal];
break;
default:
break;
}
}];
版权所有 (c) 2012 Tobias Conradi。保留所有权利。
本协议特此授予任何获得本软件及相关文档副本(“软件”)的个人,无限制地在软件中进行相关操作的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许软件接受者进行上述操作,但前提是必须遵守以下条件:上述版权声明和本许可声明应包含在软件的全部副本或主要部分中。软件按“原样”提供,不提供任何形式的保证,无论是明确的还是隐含的,包括但不限于适销性、特定目的适用性和非侵权性。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任(无论是否在合同、侵权或其他法律行为中提出)负责,无论该索赔、损害或其他责任是否因软件或软件的使用或其他方式而产生。