WKinterfaceImage в таблице теряет изображение при обновлении

У меня есть WKInterfaceTable в приложении WatchKit. Каждая строка в таблице имеет изображение и метку. При первой загрузке контроллера интерфейса я настраиваю таблицу либо в awakeWithContext, либо в willActivate, и все работает нормально. Ярлыки и изображения показывают свое содержимое, как и ожидалось. Но если я перезагружу таблицу в ответ на выбор пользователем строки, все изображения исчезнут.

Я использую setImageNamed: на WKInterfaceImage для установки изображения из пакета приложений WatchKit. Я попытался добавить изображение в файл активов и включить его в проект отдельно. Что дает?

Мой код для установки и сброса таблицы выглядит так:

[self.table setNumberOfRows:self.rowData.count withRowType:@"myRowType"];
for (NSInteger i = 0; i < self.table.numberOfRows; i++)
{
  MyRowClass row = [self.table rowControllerAtIndex:i];
  MyDataClass data = [self.rowData objectAtIndex:i];
  [row.label setTitle:data.title];
  [row.image setImageNamed:@"MyImage.png"];
}

person Tom Hamming    schedule 03.03.2015    source источник
comment
То же самое наблюдаю и с метками: после перезагрузки таблицы те метки, значения которых не изменились, показывают значения по умолчанию. Установка значения "" непосредственно перед установкой желаемого значения исправляет это. Определенно ошибка.   -  person user443854    schedule 12.03.2015


Ответы (1)


Есть ошибка, которая должна быть исправлена ​​в следующей бета-версии. Существует обходной путь, и он должен сбросить значение непосредственно перед назначением нового.

Попробуй это:

[self.table setNumberOfRows:self.rowData.count withRowType:@"myRowType"];
for (NSInteger i = 0; i < self.table.numberOfRows; i++) {
    MyRowClass row = [self.table rowControllerAtIndex:i];
    MyDataClass data = [self.rowData objectAtIndex:i];
    [row.label setTitle:data.title];
    [row.image setImageNamed:nil];
    [row.image setImageNamed:@"MyImage.png"];
}
person BalestraPatrick    schedule 03.03.2015
comment
Потрясающий. Он выдает кучу сообщений об ошибках из-за нулевых путей, но работает. - person Tom Hamming; 03.03.2015
comment
В последней бета-версии эта ошибка была исправлена, больше нет необходимости использовать этот обходной путь. - person BalestraPatrick; 12.03.2015
comment
Я вижу, что это исправлено в текущей версии 6.2, выпущенной 9 марта 2015 года. - person user443854; 12.03.2015