Ios UISlider的问题:打印滑块的值并更改样式

Ios UISlider的问题:打印滑块的值并更改样式,ios,uislider,Ios,Uislider,我在UISlider编程方面遇到了一些问题 1) 风格:我知道我们必须设置最小和最大图像。我只是不知道什么图片和任何图片参考将是伟大的?我只想从蓝色变为黑色 2) 此外,我的UISlider代码如下: 在头文件中: UISlider *slider; 在代码文件中: //slider CGRect frame=CGRectMake(10, 70, 300, 10); photoSlider=[[UISlider alloc] initWithFrame:frame]; photoSli

我在UISlider编程方面遇到了一些问题

1) 风格:我知道我们必须设置最小和最大图像。我只是不知道什么图片和任何图片参考将是伟大的?我只想从蓝色变为黑色

2) 此外,我的UISlider代码如下:

在头文件中:

UISlider *slider;
在代码文件中:

 //slider
 CGRect frame=CGRectMake(10, 70, 300, 10);
 photoSlider=[[UISlider alloc] initWithFrame:frame];
 photoSlider.minimumValue=0.0;
 photoSlider.maximumValue=90.0; //maximumPhotoImage
 photoSlider.continuous=NO;
 photoSlider.value=10.0;
 photoSlider.backgroundColor=[UIColor clearColor];
 //photoSlider

 [photoSlider addTarget:self action:@selector(updateImage:)   forControlEvents:UIControlEventValueChanged];
 [self.view addSubview:photoSlider];

- (void) updateImage:(id) sender  
{
   NSLog(@"val: %d",photoSlider.value);
}
我从函数中得到的值两端都是0,中间是非常大的值(正负…随机值)


有人能帮我吗?谢谢。

对于第1部分,要将滑块轨迹的默认蓝色部分替换为黑色,您可以拍摄默认蓝色轨迹的快照,并将其转换为如下所示的较暗灰度(只需要可拉伸部分的左端和1个像素):

并调用setMinimumTrackImage:forState::

UIImage *minTrackImg = [[UIImage imageNamed:@"MinimumTrackImage.png"] 
    stretchableImageWithLeftCapWidth:4 topCapHeight:0];
[photoSlider setMinimumTrackImage:minTrackImg forState:UIControlStateNormal];

对于第2部分,记录的值没有意义,因为
value
属性属于
float
类型,您需要使用
%f
而不是
%d
(请参阅):


谢谢你的第二部分。关于第一部分,你能告诉我我所理解的是否正确吗?第一部分的想法:我需要两张照片,1)滑块在哪里开始,2)滑块在哪里结束。我还需要一张图片来更改滑块。正确的?请让我知道。另外,对图片的分辨率有什么具体要求吗?有图片链接吗?谢谢:)你一定已经弄明白了,但是对于滑块(轨迹),你可以为左侧(最小侧)和右侧(最大侧)指定一个图像。随着拇指的移动,图像会自动水平拉伸。图像末端的圆形部分没有拉伸,因为我们说它是“端盖宽度”的一部分。
NSLog(@"val: %f",photoSlider.value);