2010-02-11 4 views
2

Я разрабатываю игру, в которой есть компонент, основанный на UISliders. Игрок должен перемещать их слева направо по одному, а иногда и по два за раз. Проблема заключается в двойных слайдах. При раздвижении двух UISliders за один раз слайдеры отстают от касаний игрока и часто создают заметное отставание в игре (это было протестировано на iPhone 3GS). Я предполагаю, что это связано с тем, что ОС пытается распознать жест мультитач, но я не уверен.UISlider Multiple Touch Lag

Вопрос, что я могу сделать, чтобы облегчить задержку? Это должно быть возможно, потому что там есть приложения для рисования, которые используют до 5 пальцев без большого запаздывания, поэтому 2 должны быть тортами.

ответ

1

Позвольте мне угадать, вы перерисовываете экран в обработчике событий для UISlider? В этом случае вы пытаетесь сделать это избыточно много времени. Вместо перерисовки в обработчике событий запишите изменение в вашем контроллере просмотра. Затем у вас установлен таймер, и вы проверяете, установлена ​​ли ваша переменная и если это так перерисовать.

+0

Я не уверен, что вы имеете в виду. Не могли бы вы объяснить, пожалуйста? Я не делаю никакого специального рисунка; Я только изменил изображение большого пальца и несколько свойств в моем подклассе UISlider. – Arman

+0

Я все еще ищу ответ на этот вопрос. – Arman

+0

Являются ли ваши UISliders внутри UITableViewCell случайным? Я пытаюсь выяснить корень того же самого вопроса, который у меня есть. Как это работает, iPhone SDK ждет, когда пользователь «проведет» свой палец на UISlider примерно за 300 мс, и я не могу понять, почему и как его переопределить. Единственный способ сделать это - подклассифицировать содержащий UITableView и проверить событие hitTest на нем, но когда я вернусь обратно к UISlider в успешном hitTest, проблема не исчезнет. :(Мне жаль, что у меня не было новостей для вас, но я нахожусь в одной лодке, я думаю. – taber