2011-07-26 29 views
0

我试图实现具有最小值1和最大值10的UISlider。我为滑块设置了IBOutlet,并为滑块的值更改时设置了IBAction。这里是我的代码:UISlider的值更改为范围之外的值

//scale is the slider, and scaleValue is a label that displays the slider's value. 
- (IBAction)scaleChanged 
{ 
    scaleValue.text = [NSString stringWithFormat:@"%d", scale.value]; 
    NSLog(scaleValue.text); 
} 

的问题是什么的NSLog给我:

[Session started at 2011-07-25 20:36:22 -0700.] 
2011-07-25 20:36:25.626 LineModel[1672:207] 0 
2011-07-25 20:36:25.861 LineModel[1672:207] 0 
2011-07-25 20:36:25.877 LineModel[1672:207] 0 
2011-07-25 20:36:25.894 LineModel[1672:207] -536870912 
2011-07-25 20:36:25.911 LineModel[1672:207] -536870912 
2011-07-25 20:36:25.928 LineModel[1672:207] -1073741824 
2011-07-25 20:36:25.944 LineModel[1672:207] 1610612736 
2011-07-25 20:36:25.961 LineModel[1672:207] 1073741824 
2011-07-25 20:36:25.978 LineModel[1672:207] 1073741824 
2011-07-25 20:36:25.994 LineModel[1672:207] 1073741824 
2011-07-25 20:36:26.011 LineModel[1672:207] 1073741824 
2011-07-25 20:36:26.028 LineModel[1672:207] -2147483648 
2011-07-25 20:36:26.044 LineModel[1672:207] 0 
2011-07-25 20:36:26.061 LineModel[1672:207] -2147483648 

你的想法。现在,我知道滑块的值是一个浮点数,而不是一个整数,但奇怪的是,它实际上工作正常之前,当我有最大设置,而不是50。现在,即使我设置最大回到50,它仍然打印出来。到底是怎么回事?

回答

0

您的NSLog没有遵循正确的语法,写这样

NSLog(@"%@",scaleValue.text); 

代替NSLog(scaleValue.text);

试试这个

- (IBAction)scaleChanged 
{ 
    scaleValue.text = [NSString stringWithFormat:@"%.2f", scale.value]; 
    NSLog(scaleValue.text); 
} 
+0

好吧,改变了它,而我仍然得到同样的值。这表明,在标签上,所以我不知道这里发生了什么... – RaysonK

+0

检查更新的一个...... – Ishu

+0

好吧,这样的工作。唯一的问题是我需要它们是完整的值,但是我可以通过使用“中间人”(称为赋值给scale的值的int)来解决这个问题,然后将其放在标签上。 – RaysonK