我在WatchKit应用程序中有一个WKInterfaceTable
。表中的每一行都有一个图像和一个标签。在第一次加载接口控制器时,我在awakeWithContext
或willActivate
中设置了表,一切都很好。标签和图像按预期显示其内容。但是,如果我响应用户选择一行而重新加载表,所有图像都会消失。
我在WKInterfaceImage
上使用setImageNamed:
来设置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"];
}
有一个错误应该在下一个测试版中修复。有一个解决方法,就是在分配新值之前重置该值。
试试这个:
[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"];
}