Поведение UISlider в iOS7 и iOS6

Я заметил, что UISlider в iOS7 ведет себя иначе, чем в iOS 6 и iOS 5:

Скажем, у вас есть ползунок с min = 0 и max = 10, текущее значение равно 0. Когда вы впервые прикасаетесь к «ручке», сообщение с изменением значения отправляется с помощью slider.value = 0.269 (вместо ожидаемого 0) и движения кнопки к середине. Как правило, прикосновение к ползунку перемещает его к среднему значению (5 в этом примере), чем дальше от середины в данный момент, тем больше он перемещается.

Все это не произошло в iOS6, и я хотел бы восстановить старое поведение, но понятия не имею, как этого добиться.

Apple еще не прокомментировала мой отчет об ошибках, но я нашел решение более или менее случайно: установка пользовательского образа для ручки восстанавливает поведение от iOS 6:

[self.slider setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateNormal]; 

На iOS 9 вам нужно установить для .Normal, .Selected и .Highlighted состояния для работы. Я нашел это после 5 часов борьбы. Путь к Apple!

 [_sliderView setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateNormal]; [_sliderView setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateSelected]; [_sliderView setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateHighlighted]; 

Я проверил его и могу подтвердить описанное поведение.

Интересно, что когда приложение построено с использованием SDK iOS 6, но устройство / симулятор все еще запускает iOS 7 (в режиме совместимости) ошибка не возникает. Кажется, что это связано с новым взглядом.

Введите ошибку .

  • Кнопка маршрута ios mpvolumeview, не вертикально центрированная по обновлению ios 7.1
  • Как читать размер изображения большого пальца UISlider
  • UISlider - добавить UILabel в min / max UIImageView?
  • Получить указатель большого пальца UISlider в вертикальном положении
  • Увеличение UISlider на 1 в диапазоне от 1 до 100
  • UISlider с неровными шагами.
  • iOS, как сделать ползунок в дискретных точках
  • Нажмите на UISlider для установки значения
  • Доступный для UISlider
  • настройка ярлыка на значение слайдера swift
  • iOS: Swift: редактирование UISliderDidEnd не называется
  • Interesting Posts
    Давайте будем гением компьютера.