WKInterfaceTable显示添加行时的情节提要数据



我有一个带有单行控制器的WKInterfaceTable。我使用以下代码将数据绑定到表:

[self.table setNumberOfRows:[data count] withRowType:@"RowController"];
for (int i = 0; i < [data count]; i++)
{
RowController *row = [self.table rowControllerAtIndex:i];
[row bind:[data objectAtIndex:i]]; // sets labels in the row etc.
}

如果我使用insertRowsAtIndexes:withRowTypes:逐个添加行,我也会遇到同样的问题。在任何一种情况下,都必须先向表中添加一行,然后才能更新该行以显示正确的数据。

第一个问题是,正因为如此,用户可以看到添加的行和绑定到该行的数据之间的虚拟故事板数据

我试过

  • 隐藏包含该表的组,直到循环结束,但第一次加载时的第一个表项最终就好像它完全绑定到了nil(尽管它不是)(其他人已经看到了这一点)
  • 隐藏包含每行内容的组,直到组结束,但滚动处理得很差,行弹出得也很差
  • 使用另一个组将表移出视图,直到循环结束,但您仍然可以向下滚动到它

在向用户显示表行之前,是否真的没有方法来渲染表行?

我也遇到过类似的问题,通过将作业调度到主线程上解决了这个问题。

dispatch_async(dispatch_get_main_queue(), ^{
[self.table setNumberOfRows:[data count] withRowType:@"RowController"];
for (int i = 0; i < [data count]; i++)
{
RowController *row = [self.table rowControllerAtIndex:i];
[row bind:[data objectAtIndex:i]]; // sets labels in the row etc.
}
});

相关内容

  • 没有找到相关文章

最新更新