2009-08-10 2 views
4

У меня есть пользовательский UITableViewCell, который содержит элемент управления UISlider и UILabel, который показывает текущее текстовое значение для положения ползунка. Я хочу обновить ярлык при перетаскивании ползунка. Вот основные элементы.UISlider Update внутри UITableViewCell

cellForRowAtIndexPath: Эта процедура принимает данные и обновляет значение ползунка и связанный с ним метку.

sliderValueChanged: Эта процедура считывает значение ползунка, которое обновляет данные. Затем он вызывает [table reloadData], чтобы метка обновилась.

Задача: Как-то перезагрузкаДата прерывает поток обновлений. Если я заменю NSLog вместо reloadData, я получаю хороший поток обновлений, показывающий значение ползунка. В попытке предотвратить цикл я поставил в тестах, чтобы не установить значение ползунка или вызвать reloadData, если значение не было иным. Это не исправить.

Любая помощь была бы принята с благодарностью!

ответ

6

Проблема вызвана [table reloadData], которая, как представляется, создает новый объект Cell, поэтому обновления одного и того же слайдера не работают. Правильная реализация заключалась в том, чтобы получить ссылочную ячейку внутри подпрограммы sliderValueChanged и установить метку оттуда. Установите тег на ползунок, чтобы указать строку, а затем вызовите метод, чтобы получить ячейку с указателем.

+0

хотел бы увидеть какой-то код на этом, я работаю над тем же, если я понял, что опубликую его. – nickthedude

1

Такие вещи случались со мной. Перейдите к настройкам сборки и найдите флаг компилятора с названием «Включить вызовы библиотеки с плавающей запятой». Убедитесь, что он отключен. Посмотрите, поможет ли это вам.

+0

Этот флаг отключен в моем коде, и у меня все еще есть проблема. – Voripteth

Смежные вопросы