table 中的 WKinterfaceImage 在刷新时丢失图像
WKinterfaceImage in table losing image when refreshed
我在 WatchKit 应用程序中有一个 WKInterfaceTable
。 table 中的每一行都有一个图像和一个标签。在第一次加载界面控制器时,我在 awakeWithContext
或 willActivate
中设置了 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"];
}
我在 WatchKit 应用程序中有一个 WKInterfaceTable
。 table 中的每一行都有一个图像和一个标签。在第一次加载界面控制器时,我在 awakeWithContext
或 willActivate
中设置了 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"];
}