table 中的 WKinterfaceImage 在刷新时丢失图像

WKinterfaceImage in table losing image when refreshed

我在 WatchKit 应用程序中有一个 WKInterfaceTable。 table 中的每一行都有一个图像和一个标签。在第一次加载界面控制器时,我在 awakeWithContextwillActivate 中设置了 table,一切正常。标签和图像按预期显示其内容。但是,如果我重新加载 table 以响应用户选择一行,所有图像都会消失。

我在 WKInterfaceImage 上使用 setImageNamed: 来设置 WatchKit 应用程序包中的图像。我试过将图像放在资产文件中并单独包含在项目中。给出了什么?

我设置和重置 table 的代码如下所示:

[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"];
}

存在应该在下一个测试版中修复的错误。有一个解决方法,它是在分配新值之前重置值。

试试这个:

[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"];
}