我正在构建一个iOS
应用程序,我在同一个栏上使用2 sliders
来选择max
和min
值。我已经参考了下面的链接,我正在使用点反馈滑块。
现在我面临的问题是我希望10-20应该是绿色而80-90应该是红色,其余应该是黑色。
请帮助我iOS
中的新人。
答案 0 :(得分:1)
更改滑块的最小轨迹颜色
@property(非原子,强)IBOutlet UISlider *滑块;
[self.fontSlider setMinimumTrackTintColor:[UIColor grayColor]];
答案 1 :(得分:0)
你必须使用图像来实现这一目标。检查此link以查看其完成情况。你不能通过使用UISlider的某些属性来改变颜色。
另请查看Apple发布的UICatalog示例代码应用程序中的示例代码。
<强>更新强>: 由于您需要进一步说明,请阅读以下文档:
*
拇指骑乘的栏被称为滑块的轨道。 滑块控件使用两个不同的图像绘制轨道 定制的。拇指和轨道末端之间的区域 使用最小值绘制与滑块最小值相关联的值 跟踪图像。拇指和轨道末端之间的区域 使用最大值绘制与滑块最大值关联的值 跟踪图像。使用不同的轨道图像以提供 关于哪一端包含最小值的上下文。例如, 最小轨迹图像通常包含蓝色高光 最大轨迹图像包含白色高光。你可以分配 不同的轨道图像对到每个控制状态 slder。为每个状态分配不同的图像可让您自定义 滑块启用,禁用,突出显示时的外观, 等等。
*
因此,如果要连续更改颜色,则必须包含所有颜色的图像。将它们放在NSArray
或NSDictionary
中(使用键作为颜色名称)并动态使用它。
答案 2 :(得分:0)
您可以在
中处理这种情况- (IBAction)labelSliderChanged:(NMRangeSlider*)sender{
int sliderValue=sender.lowerValue;
NSLog(@"slider value = %d", sliderValue);
if(sliderValue >= 10 && sliderValue <= 20)
{
if([self.view respondsToSelector:@selector(setTintColor:)])
{
self.view.tintColor = [UIColor greenColor];
}
}
else if(sliderValue >= 80 && sliderValue <= 90)
{
if([self.view respondsToSelector:@selector(setTintColor:)])
{
self.view.tintColor = [UIColor redColor];
}
}
else{
if([self.view respondsToSelector:@selector(setTintColor:)])
{
self.view.tintColor = [UIColor blackColor];
}
}
}
答案 3 :(得分:0)
您可以通过设置thumbTintColor