【发布时间】:2016-05-18 21:15:34
【问题描述】:
我正在构建一个带有复选框功能的列表,其中复选符号是空复选框的子项。在 touchesBegan: 中,每次触摸复选框时,复选框都应从隐藏变为未隐藏,然后返回。代码如下所示:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first {
location = touch.locationInNode(self)
for node in self.nodesAtPoint(location) {
if node.childNodeWithName("checkSymbol")?.hidden == true {
node.childNodeWithName("checkSymbol")?.hidden = false
} else if childNodeWithName("checkSymbol")?.hidden == false {
node.childNodeWithName("checkSymbol")?.hidden = true
}
}
}
}
问题是 childNode(checkSymbol 节点)在隐藏时没有被 .nodesAtPoint() 方法拾取。这就是我尝试使用上面的.childNodeWithName() 方法解决的原因,但该框仍会检查后续触摸。有没有人建议如何解决这个问题?
【问题讨论】:
标签: swift sprite-kit location hidden touches