如何从文本字段在SKShapeNode中设置SK标签

时间:2019-01-16 02:20:15

标签: ios swift skspritenode

我有一个带有嵌入式SKView的名为WheelView的视图控制器。在SKView中,我有一个带有6个楔形和标签的轮子。

我有几个文本字段,并且随着父视图控制器中文本字段的更新,我想更新方向盘上的标签。

当文本输入到文本字段中时,如何更新标签?

相关的SKShapeNode:

    class Wheel: SKShapeNode {
    let size: CGFloat = 1024
    let colors: [UIColor]

    init(colors: [UIColor]) {
        self.colors = colors
        super.init()


        let wedges = colors.count
        let angle = 2 * CGFloat.pi / CGFloat(wedges)

        for start in 0..<wedges {
            let label = SKLabelNode()
            label.fontSize *= size / 256
            switch start {
            case 1, 3, 5: label.text = //text from textfield
            default     : label.text = //text from textfield
            }
            let wedge = Wedge(size: size, angle: angle, label: label)
            wedge.zRotation = CGFloat(start) * angle
            wedge.fillColor = colors[start]
            wedge.name = String(start)
            addChild(wedge)


            // addChild(innercircle)
            // addChild(circlebutton)
            // addChild(outerbutton)
        }

        self.physicsBody = SKPhysicsBody(circleOfRadius: size,
                                         center: centerFrame(self.frame))
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

父视图控制器中的相关代码:

 @IBOutlet weak var input1: UITextField!

/....
code
..../
     func textFieldShouldReturn(_ input1: UITextField) -> Bool {

        self.view.endEditing(true)
        return true
    }

0 个答案:

没有答案