如何将UIView添加到SCNNode中?迅速

时间:2018-07-02 11:26:12

标签: uiview add arkit scnnode

ARKit ios相关问题。视图添加到SCNNode中。

我的要求是将两个标签的UIView添加到SCNNode和Show中。

// SCNNode创建函数  func Val()-> SCNNode {

    //SCNNode Create using SCNode()
    let holderNode = SCNNode()

    // Set It's Geometry As An SCNPlane
    holderNode.geometry = SCNPlane()

    // Create A New Material
    let material = SCNMaterial()

    // Create A UIView As A Holder For Content
    let viewToAdd = UIView(frame: CGRect(x: 10, y: 20, width: 300, height: 30))
     //background Color
    viewToAdd.backgroundColor = .white

    // create red Label
    let redLabel = UILabel(frame: CGRect(x: 0, y: 10, width: 100, height: 10))
    redLabel.text = name
    redLabel.textColor = .red
    viewToAdd.addSubview(redLabel)

    // crate Blue Label
    let bluelabel = UILabel(frame: CGRect(x: 0, y: 20, width: 100, height: 20))
    bluelabel.text = String(distTwoPoints)
    bluelabel.textColor = .red
    viewToAdd.addSubview(bluelabel)

    material.diffuse.contents = viewToAdd
    holderNode.geometry?.firstMaterial = material


    holderNode.transform = CardinalDirection.transform(rotationY: GLKMathDegreesToRadians(angle), distance: 500)

    // return node
    return holderNode


}

1 个答案:

答案 0 :(得分:0)

使用以下代码将UIView添加到SCNNode:

 let plane = SCNPlane()
 plane.firstMaterial!.diffuse.contents = viewToAdd

 holderNode.geometry = plane