[英]hidden nodes don't show up with childnodewithname
我正在建立一个具有复选框功能的列表,其中复选符号是空复选框的子代。 在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()
方法解决问题的原因,但仍选中该框以进行后续触摸。 有没有人建议如何解决这个问题?
如果希望由nodesAtPoint
拾取隐藏节点,则可以随时更改hidden的实现。
您也可以使用node.zPosition = -1
,假设您有一个隐藏于zPosition 0的背景节点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.