2011-07-26 50 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