以下是一段摘自...的内容。
//
// UIColor.h
// UIKit
//
// Copyright (c) 2005-2013, Apple Inc. All rights reserved.
//
........
// Some convenience methods to create colours.
// These colors will be as calibrated as possible.
// These colors are cached.
+ (UIColor *)blackColor; // 0.0 white
+ (UIColor *)darkGrayColor; // 0.333 white
+ (UIColor *)lightGrayColor; // 0.667 white
+ (UIColor *)whiteColor; // 1.0 white
+ (UIColor *)grayColor; // 0.5 white
+ (UIColor *)redColor; // 1.0, 0.0, 0.0 RGB
+ (UIColor *)greenColor; // 0.0, 1.0, 0.0 RGB
+ (UIColor *)blueColor; // 0.0, 0.0, 1.0 RGB
+ (UIColor *)cyanColor; // 0.0, 1.0, 1.0 RGB
+ (UIColor *)yellowColor; // 1.0, 1.0, 0.0 RGB
+ (UIColor *)magentaColor; // 1.0, 0.0, 1.0 RGB
+ (UIColor *)orangeColor; // 1.0, 0.5, 0.0 RGB
+ (UIColor *)purpleColor; // 0.5, 0.0, 0.5 RGB
+ (UIColor *)brownColor; // 0.6, 0.4, 0.2 RGB
+ (UIColor *)clearColor; // 0.0 white, 0.0 alpha
令人惊讶的是,他们没有包括“标准的苹果按钮蓝色”........
在项目中,我们总是有这个:但这有点猜测。
#define APPLEBLUE [UIColor \
colorWithRed:0/255.0 green:122/255.0 blue:255/255.0 alpha:1.0]
或者,你可以像这样做一些非常复杂的事情......
@implementation SomeButtons
{
UIColor *defaultColor;
}
-(id)initWithFrame:(CGRect)frame
{
defaultColor = [UIColor redColor];
if(self = [super initWithFrame:frame])
{
for (UIView *v in self.subviews)
if ([v isKindOfClass:[UIButton class]])
defaultColor = [(UIButton *)v titleColorForState:UIControlStateNormal];
}
return self;
}
-(id)initWithCoder:(NSCoder *)aCoder
{
if(self = [super initWithCoder:aCoder])
{
for (UIView *v in self.subviews)
if ([v isKindOfClass:[UIButton class]])
defaultColor = [(UIButton *)v titleColorForState:UIControlStateNormal];
}
return self;
}
看起来几乎不可思议,没有一种更简单的方法可以将按钮和文本颜色恢复为“标准的苹果控制蓝色”。
这是Android程序员嘲笑我们的事情:/ 有人知道更简单的方法吗?我真的希望我错过了一些明显的东西。谢谢
tintColor
。您的应用程序中绝对不需要在任何地方使用默认颜色。而且,苹果不会更改您应用程序的tintColor
。 - Matthias Bauch