我正在构建一个带有复选框功能的列表,其中复选符号是空复选框的子项。在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
}
}
}
}
问题是.nodesAtPoint()
方法隐藏了childNode(checkSymbol节点)。这就是我尝试使用上述.childNodeWithName()
方法解决问题的原因,但仍会检查该框是否有后续触摸。有没有人建议如何解决这个问题?
答案 0 :(得分:1)
如果您希望nodesAtPoint
选择隐藏节点,您可以随时更改隐藏的实施。
您也可以使用node.zPosition = -1
,假设您有一个 zPosition 0 的背景节点隐藏在后面。