ios - 如何检查父SCNNode是否包含子SCNNode

标签 ios swift scnnode

在 UIKit 中,我可以检查一个 View 是否是另一个 View 的 subview :

if !childView.isDescendant(of: parentView) {

    parentView.addSubview(childView)

} else {

    childView.removeFromSuperview()
}

对于 SCNNode 来说,相当于 .isDescendant(of: )所以我可以用 SCNNode 做同样的事情:

if !childNode.???(of: parentNode) {

    parentNode.addChildNode(childNode)

} else {

    childNode.removeFromParentNode()
}

最佳答案

它是childNodes.contains(),你可以像这样使用它:

if !parentNode.childNodes.contains(yourChildNode) {

    parentNode.addChildNode(yourChildNode)

} else {

    yourChildNode.removeFromParentNode()
}

enter image description here

enter image description here

关于ios - 如何检查父SCNNode是否包含子SCNNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56762519/

相关文章:

iOS:我可以从表格 View 注册 textfieldDidBeginEditing 吗?

ios - 更改场景时出错。( SpriteKit )

iphone - 如何将对象作为参数传递给 objective-c 中的新类构造函数?

ios - 使用自动布局将 UILabel 沿其父 View 的底部对齐

swift - 呈现 UITabBarController 的最佳实践

ios - 如何在 Swift 中垂直(沿 y 轴)缩放 3D 对象?

ios - 使用正确信息的 Quickblox 更新用户密码失败

Swift 2.0 : Type of Expression is ambiguous without more context? 就地排序

ios - 在 ARKit 中放置、拖动和删除 SCNNode

ios - 如何将 SCNPlane 颜色更改为清晰颜色