问题 如何以编程方式设置UIButton的Highlight Tint颜色?


有一个 Highlight Tint Interface Builder中的选项 UIButton。是否有可能以编程方式为所有人更改它 UIButton 在iOS 5 ....使用某种外观协议的东西或其他一些解决方法?


7118
2017-10-30 06:19


起源



答案:


您可以将其设置为

[button setTintColor:[UIColor grayColor]];

这相当于IB中的hightlight色调选项,仅适用于突出显示的状态。

更新: 要为应用中的所有按钮实现此功能,请使用以下命令:

[[UIButton appearance] setTintColor:[UIColor orangeColor]]; 

它将为所有人设定 UIButton 你将在你的应用程序中使用它。

有关详细信息,请查看此处 UIAppearance协议


13
2017-10-30 06:53



我不能一般为所有按钮做吗?例如做'[UIButton setTintColor:[UIColor orangeColor]]' - orak
我这样做----- for(UIView * view in self.view.subviews){if([view isKindOfClass:[UIButton class]]){[(UIButton *)view setTintColor:[UIColor orangeColor]];但这需要一个视图引用.... - orak
使用此,[[UIButton appearance] setTintColor:[UIColor orangeColor]];它将为您要在应用中使用的所有UIButton设置。不要使用for循环。更新了我的答案。 - iDev
@ACB我不认为高光颜色和色调颜色是一回事。 - Luke
我看不到IB中的“突出色调”选项...... - Frederic Yesid Peña Sánchez


答案:


您可以将其设置为

[button setTintColor:[UIColor grayColor]];

这相当于IB中的hightlight色调选项,仅适用于突出显示的状态。

更新: 要为应用中的所有按钮实现此功能,请使用以下命令:

[[UIButton appearance] setTintColor:[UIColor orangeColor]]; 

它将为所有人设定 UIButton 你将在你的应用程序中使用它。

有关详细信息,请查看此处 UIAppearance协议


13
2017-10-30 06:53



我不能一般为所有按钮做吗?例如做'[UIButton setTintColor:[UIColor orangeColor]]' - orak
我这样做----- for(UIView * view in self.view.subviews){if([view isKindOfClass:[UIButton class]]){[(UIButton *)view setTintColor:[UIColor orangeColor]];但这需要一个视图引用.... - orak
使用此,[[UIButton appearance] setTintColor:[UIColor orangeColor]];它将为您要在应用中使用的所有UIButton设置。不要使用for循环。更新了我的答案。 - iDev
@ACB我不认为高光颜色和色调颜色是一回事。 - Luke
我看不到IB中的“突出色调”选项...... - Frederic Yesid Peña Sánchez