0

我尝试将带有 UITableView 的示例 iOS 应用程序移植到 Windows 10。它尝试显示 100 行,每行包含标签,其值为行号。这是代码

UILabel *label = (UILabel*)[cell viewWithTag:1];
label.text = [NSString stringWithFormat:@"Name %ld", indexPath.row];

当在 windows10 中启动这个应用程序时,我只看到空行。是否支持 viewWithTag?如何检查 winobjc 支持哪些 api 和方法?是否有任何可用的文档?

4

1 回答 1

0

我在微软从事 iOS 桥接项目。您在这里看到的问题与单元重用标识符有关,而不是 viewWithTag。当您运行 vsimporter 时,我们的 Xib2Nib 工具会处理 Storyboard 和 Xib 的转换。目前,Xib2Nib 不支持 Storyboards 中定义的单元重用标识符(尽管它支持 Xibs 中的单元重用标识符)。因此,当您调用时dequeueReusableCellWithIdentifier:forIndexPath:,其中包含 UILabel 的正确单元格不会被实例化,这会导致您得到空白单元格。

有几个潜在的解决方案。您可以在 UITableViewCell 子类中以编程方式构建布局并使用registerClass:forCellReuseIdentifier:. 您还可以在自己的 xib 文件中布置您的单元格(与您的故事板分开)并使用registerNib:forCellReuseIdentifier:.

无论哪种情况,如果您希望在 Storyboards 中看到对单元重用标识符的支持,您应该在 Github 上提交有关项目的问题- Github 是与我们的团队取得联系并告知我们所有优先级决策的最佳方式。

更一般地说,您可以在 Visual Studio 调试控制台中查看网桥支持和不支持的内容;当调用丢失或存根的 API 时,您将收到一条包含详细信息的消息。我们还在开发使浏览 API 表面区域变得更容易的工具。

感谢您查看该项目!

于 2016-02-04T00:53:19.253 回答