Значение UISlider изменяется на значения вне диапазона - PullRequest
0 голосов
/ 26 июля 2011

Я пытаюсь реализовать UISlider, который имеет минимум 1 и максимум 10. Я настроил IBOutlet для слайдера и IBAction для того, когда значение слайдера изменяется.Вот мой код:

//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, это все еще печатает это.Что происходит?

1 Ответ

0 голосов
/ 26 июля 2011

Ваш NSLog не соответствует правильному синтаксису, напишите так

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

вместо NSLog(scaleValue.text);

Попробуйте это

- (IBAction)scaleChanged
{
    scaleValue.text = [NSString stringWithFormat:@"%.2f", scale.value];
    NSLog(scaleValue.text);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...