Tengo 5 CALayers cada uno es una propiedad. Digamos que agregué 3 de ellos como subvistas. Necesito poder hacer chk si una de las capas ya está agregada a la capa.Comprueba si un CALayer ya está agregado como una subcapa
5
A
Respuesta
10
¿Has probado la propiedad superlayer
? Debería ser nulo si su capa no se agrega en ningún lado.
6
if (layer.superlayer == parentLayer) {
...
} else {
...
}
4
view.layer.sublayers le ofrece una gran variedad de las capas sub, para ver si su capa se añadió que puede hacer algo como view.layer.sublayers.count y una vez que el recuento capa alcanza lo que espera no te agregar más por ej.
if (view.layer.sublayers.count < 3) {
//add layer
}else{
// do nothing because the layer has already been added.
}
También puede examinar cada capa en la matriz de subcapa para identificar mejor la capa que está buscando. Como son propiedades, debería poder hacer una comparación con cada una de las capas de la matriz para ver si se ha agregado la capa que está buscando.
0
// comprobar CALayer Contiene subcapa (shpapelayer/textlayer)
if myShapeLayer.sublayers?.count>0 { var arr:NSArray? = myShapeLayer.sublayers as NSArray var i:Int=0 for i in 0..<arr!.count { var a: AnyObject = arr!.objectAtIndex(i) if a.isKindOfClass(CAShapeLayer) || a.isKindOfClass(CATextLayer) { if a.isKindOfClass(CAShapeLayer) { a = a as! CAShapeLayer if CGPathContainsPoint(a.path, nil, pointOfCircle, true) { NSLog("contains shape layer") } else { NSLog("not contains shape layer") } } if a.isKindOfClass(CATextLayer) { a = a as! CATextLayer var fr:CGRect = a.frame as CGRect if CGRectContainsPoint(fr, pointOfCircle) { NSLog("contains textlayer") } else { NSLog("not contains textlayer") } } } } }
Cuestiones relacionadas
- 1. CALayer como subcapa no visible
- 2. Comprueba si una constante ya está definida
- 3. Comprueba si un BSTR está vacío
- 4. Comprueba si UIWebView está cargado
- 5. Comprueba si un valor está en una colección con LINQ
- 6. ¿Comprueba si IIS está instalado o no?
- 7. ¿Cómo verificar si un producto de Magento ya está agregado en el carro o no?
- 8. Comprueba si el atributo CoreData está vacío
- 9. Comprueba si el intento uri está disponible
- 10. VB Comprueba si int está vacío
- 11. ¿Comprueba si Mouse LButton está inactivo?
- 12. JavaScript - cómo comprobar si el evento ya se ha agregado
- 13. Comprueba si html 5 shim está cargado
- 14. php: comprueba si cierto elemento de una matriz está vacío
- 15. Comprueba si un NSString está formado por espacios
- 16. Comprueba si se está ejecutando un archivo exe específico
- 17. Comprueba si una matriz está vacía en Jinja2
- 18. Comprueba si el archivo ya está en el control de código fuente
- 19. jQuery comprueba la base de datos mysql si el nombre de usuario ya está tomado
- 20. Comprueba si un elemento DOM dado está listo
- 21. Comprueba si un complemento de Firefox 3.5 está habilitado
- 22. php: comprueba si una matriz tiene duplicados
- 23. Si se comprueba nulo
- 24. Comprueba si la pestaña actual está vacía en vim
- 25. dibujar CALayer en un CGContext
- 26. ¿Ya se ha agregado un controlador de eventos?
- 27. comprueba si un nombre parece "humano"?
- 28. cómo se comprueba si UIWebView está vacío o no
- 29. Comprueba si la matriz de bytes está en 0xff
- 30. Compruebe si el archivo ya está abierto
THX probó la capa súper contra nil trabajó justo – abe