Ios UISlider的问题:打印滑块的值并更改样式
我在UISlider编程方面遇到了一些问题 1) 风格:我知道我们必须设置最小和最大图像。我只是不知道什么图片和任何图片参考将是伟大的?我只想从蓝色变为黑色 2) 此外,我的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 *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);