2015-04-27 2 views
2

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

  • Две горизонтальные страницы, которые настраиваются программно через reloadRootControllersWithNames:contexts:

  • Каждая страница содержит WKInterfaceTable, которая загружает отдельные данные.

Что я заметил, что таблица вторая страница имеет свое содержание толкнул вниз так, что первая строка в таблице справа расположена где-то между вторым и третьим рядами левой таблицы.

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

Обе страницы используют один и тот же WKInterfaceController и почти идентичную логику (они просто загружают два набора данных), поэтому я не уверен, почему это может произойти.

Также стоит отметить, что если я создам две страницы внутри раскадровки и свяжу их, перетащив и используя «следующую страницу», проблема все равно произойдет, поэтому она не вызвана использованием reload.

Это изображение показывает середину панорамирования между левой и правой страницей и показывает пробел справа (и эта странная красная полоса происходит дважды, а моя кишка говорит мне, что она устанавливает ширину моих первых двух строк понравиться, 1 пиксель или что-то еще).

enter image description here

Любая идея, что здесь происходит?

ответ

2

У меня была та же проблема. Я делал таблицу config в AwakeWithContent(). Когда я переместил его на WillAppear(), он работал нормально. Я думаю, что проблема заключается в том, что, когда вы просматриваете сцену, она пытается расположить таблицу.

WillAppear(), кажется, происходит после того, как сцена скользнул.

+0

Хм, это хитрый. Ваш «контекст» в активном методе не содержит информацию для вашей таблицы? Моя делает. Интересно, стоит ли открывать радар. – Luke

+0

Не должно быть проблем. Удостоверьтесь, что вы храните данные в переменной экземпляра и используете его в файле willActivate – nithinreddy