Таблица WatchKit мерцает при обновлении

В настоящее время я работаю над приложением watchkit и столкнулся с проблемой мерцания таблицы.

Ситуация следующая: с помощью инструмента раскадровки я создал таблицу, содержащую два типа строк. Идея заключается в том, что когда данные для таблицы загружаются, есть только одна строка первого типа, которая будет использовать все пространство, чтобы указать, что данные загружаются. Когда данные поступают, второй тип строки используется для отображения данных.

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

Мой вопрос: если кто-то столкнулся с подобной проблемой или есть ли лучший способ/шаблон для отображения такого рода информационных сообщений, которые показывают пользователю, что происходит, когда он использует приложение.


person Jonas Eschmann    schedule 20.04.2015    source источник
comment
Я столкнулся с той же проблемой, но мне не ясно, является ли это просто симулятором или мерцание будет происходить на реальных часах, так как у меня пока нет часов для тестирования... Удалось ли вам проверить это на настоящие часы? Единственный другой вариант, который я мог придумать, - это представить модальное представление при загрузке данных, но это не кажется очень элегантным.   -  person rmp    schedule 20.04.2015
comment
да, особенно потому, что, насколько я понимаю, пользователи могут отклонять эти модальные представления   -  person Jonas Eschmann    schedule 22.04.2015
comment
Я видел мерцание на симуляторе, которое отображается на часах. Фактически, возможное решение, которое решило эту проблему в симуляторе, на самом деле все еще мелькает в самих часах.   -  person AndyDunn    schedule 24.04.2015


Ответы (2)


Таблица WatchKit будет мерцать при перезагрузке, когда видимая ячейка отличается по размеру от других ячеек. Убедитесь, что все они имеют одинаковую высоту и ширину, и у вас не будет мерцания.

person lostAtSeaJoshua    schedule 06.08.2015

Я сделал это так: поместил над столом группу, занимающую весь экран, с анимацией загрузки внутри. Затем я скрываю/показываю группы по мере необходимости.

person bgilham    schedule 21.04.2015
comment
как бы вы добавили что-то поверх чего-либо в конструкторе интерфейса watchkit? Я могу только складывать вещи в группы или располагать вещи рядом друг с другом - person Jonas Eschmann; 22.04.2015
comment
Я поместил WKInterfaceImage в WKInterfaceGroup, расположенный в верхней части представления, с WKInterfaceTable под ним. Затем я устанавливаю размер группы/изображения, чтобы он соответствовал всему представлению. Таким образом, когда я его показываю, он полностью скрывает таблицу и не прокручивается. - person bgilham; 22.04.2015