我尝试将带有UITableView的示例iOS应用程序移植到Windows 10.其中它尝试显示100行,每行包含带有值作为行号的标签。这是代码
UILabel *label = (UILabel*)[cell viewWithTag:1];
label.text = [NSString stringWithFormat:@"Name %ld", indexPath.row];
当在windows10中启动此应用程序时,我只看到空行。 是否支持viewWithTag? 我如何检查winobjc支持的api和方法?有没有关于此的文件?
答案 0 :(得分:0)
我在Microsoft的iOS桥项目上工作。您在这里看到的问题与单元重用标识符有关,而不是viewWithTag。我们的Xib2Nib工具在您运行vsimporter时处理转换Storyboard和Xib。目前,Xib2Nib不支持在Storyboards中定义的单元重用标识符(尽管它确实支持Xib中的单元重用标识符)。因此,当您调用dequeueReusableCellWithIdentifier:forIndexPath:
时,其中包含UILabel的正确单元格未实例化,这会导致您获得空白单元格。
有几种可能的解决方案。您可以在UITableViewCell子类中以编程方式构建布局并使用registerClass:forCellReuseIdentifier:
。您还可以将单元格布置在自己的xib文件中(与故事板分开)并使用registerNib:forCellReuseIdentifier:
。
在任何一种情况下,如果您希望在Storyboard中看到对单元格重用标识符的支持,您应该file an issue on the project on Github - Github是与我们的团队联系并通知我们所有优先级决策的最佳方式。< / p>
更一般地说,您可以在Visual Studio调试控制台中看到桥接器支持和不支持的内容;当调用缺失或存根API时,您将收到包含详细信息的消息。我们还在研究可以更轻松地浏览API表面区域的工具。
感谢您查看该项目!