我有一个带有嵌入式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
}