当用户按下屏幕时,我试图在用户手指后面显示放大的场景预览。我提取节点的纹理并使用以下代码将其添加回场景
if let previewTexture = view?.textureFromNode(rootNode, crop: CGRect(origin: rootNodePoint, size: CGSize(width: 100, height: 100))) {
previewNode.texture = previewTexture
}
当我使用带有crop rect的方法时,它返回nil,但没有crop,它返回的纹理很好。
我不能先得到完整的纹理然后再裁剪它,因为整个节点树可以扩展到超过 4098 点,并且在这种情况下精灵套件返回空纹理。
我不能使用 UIView drawViewHierarchyInRect 方法,因为它会返回一个带有预览本身的快照。
我创建了一个示例项目来重现问题 TextureFromNodeBug
更新:
这个问题在 iOS 9.2 上没有被复制,所以这可能是一个框架错误