我目前正在努力让按钮的背景颜色在 slider 到达某个点时发生变化。我希望当 slider 值达到 1 时背景颜色从橙色变为蓝色,但现在只有按下按钮时才会改变颜色。请帮忙:)
这是我目前拥有的:
- (IBAction)buttonChange:(id)sender {
if ([_statuslabel.text isEqualToString:@"Temperature: 1"]) {
[_myButton setBackgroundColor: [UIColor blueColor]] ;
最佳答案
要不断更改按钮颜色,您可以使用以下代码:
- (IBAction)sliderValueChanged:(UISlider *)sender
{
CGFloat blueHue = 232.0f; // should be kind of blue
CGFloat orangeHue = 32.0f; // should be kind of orange
CGFloat resultingHue = ((blueHue - orangeHue)) * sender.value + orangeHue;
self.yourButton.backgroundColor = [UIColor colorWithHue:resultingHue / 360.0f
saturation:1
brightness:1
alpha:1];
}
只需在 IB
中连接您的 UISlider
并为 Value Changed
事件设置 sliderValueChanged:
方法即可。
使用 HSV ( http://en.wikipedia.org/wiki/HSL_and_HSV ) 模型应该是归档您想要的内容的最简单的解决方案。
希望对你有帮助
关于ios - 如何在移动 slider 时更改按钮的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012788/