обновление значения свойства для UISlider - PullRequest
0 голосов
/ 02 апреля 2011

Я боюсь, что-то действительно базовое.Есть три ползунка, используемые для управления цветом для палитры цветов.Перемещение ползунков обновляет значения, как и следовало ожидать, но я не могу установить их свойства .value .

    NSLog(@"A %f %f %f",aRedValue,aGreenValue,aBlueValue);

    redSlide.value=aRedValue;
    greenSlide.value=aGreenValue;
    blueSlide.value=aBlueValue;

    NSLog(@"B %f %f %f",redSlide.value,greenSlide.value,blueSlide.value); 

отдает в журнал

2011-04-01 21:35:00.894 col1[1264:207] A 0.500000 0.500000 1.000000
2011-04-01 21:35:00.895 col1[1264:207] B 0.000000 0.000000 0.000000

Почему это может быть?Установка UISliders в качестве свойств контроллера представления хоста или setNeedsDisplay , похоже, не помогает.Что я тут не так делаю?

Ответы [ 4 ]

1 голос
/ 02 апреля 2011

Использование [redSlide setValue: aredValue]; в точности совпадает с redSlide.value = aRedValue;.
Я думаю, что ваш UISlide является объектом Interface Builder, и вы не подключили его к UIViewController.Или все ваши 3 значения цвета равны 0, потому что если вы не установили minimumValue или maximumValue, значения по умолчанию равны соответственно 0 и 1.

Итак, вы не можете получить доступ к своему UISlider объектов, либо все ваши значения цвета равны 0, потому что если бы было больше 0, ваш value property будет равен 1.

0 голосов
/ 02 апреля 2011

Думаю, возможно, нашли ошибку в моем коде.Представление загружается из NIB после класса, поэтому оно перезаписывает все обновления, которые я сделал с последним значением объектов.Теперь есть три обычные переменные экземпляра с плавающей точкой и метод, который обновляет значение ползунка из них при необходимости.Ключевой бит должен был вызывать этот метод после viewDidLoad , чтобы перезаписать настройки, загруженные из NIB.

Большое спасибо всем за помощь.Застрял в ней несколько дней, но ваши комментарии, как всегда, помогли разобрать проблему и решить ее.

0 голосов
/ 02 апреля 2011

Установлено ли минимальное или максимальное значение, отличное от значения по умолчанию? Вы можете распечатать значения ползунков перед их установкой, может быть, что-то еще происходит.

[обновление] Я думаю, что user288264 прав.

0 голосов
/ 02 апреля 2011

Попробуйте:

[redSlide setValue: aredValue];[blueSlide setValue: значение];[greenlide setValue: значение];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...