Ho 5 CALayer ognuno è una proprietà. Dire che ho aggiunto 3 di loro come subviews. Ho bisogno di ba chk se uno dei layer è già stato aggiunto al layer.Verificare se un CALayer è già aggiunto come sottolivello
5
A
risposta
10
Hai provato la proprietà superlayer
? Dovrebbe essere nullo se il tuo livello non viene aggiunto da nessuna parte.
6
if (layer.superlayer == parentLayer) {
...
} else {
...
}
4
view.layer.sublayers ti dà una serie di strati di sub, per vedere se il livello è stato aggiunto che si può fare qualcosa di simile view.layer.sublayers.count e una volta che il conteggio livello raggiunge quello che ci si aspetta dont aggiungere altro per es.
if (view.layer.sublayers.count < 3) {
//add layer
}else{
// do nothing because the layer has already been added.
}
È inoltre possibile esaminare ciascun livello nella matrice di sottolivelli per identificare meglio il livello che si sta cercando. Dal momento che sono proprietà dovresti essere in grado di fare un confronto con ciascuno dei livelli dell'array per vedere se il layer che stai cercando è stato aggiunto.
0
// per controllare CALayer Contiene sottolivello (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") } } } } }
Problemi correlati
- 1. CALayer come sottolivello non visibile
- 2. JavaScript: come verificare se l'evento è già stato aggiunto
- 3. Come verificare se un viewStub è già gonfiato?
- 4. Come verificare se un file è già aperto in C
- 5. CALayer - Posiziona il sottolivello sotto gli UIButtons dello storyboard?
- 6. Verificare se un evento esiste già
- 7. Come verificare se id esiste già - codeigniter
- 8. Come verificare se un'attività è già in Python Queue?
- 9. Come verificare se jQuery è già nella cache?
- 10. Come verificare se una sessione ChromeCast è già in corso
- 11. Come verificare se un'app Firebase è già inizializzata su Android
- 12. Come verificare se un'applicazione WPF è già in esecuzione?
- 13. java.lang.IllegalStateException: Frammento già aggiunto
- 14. come verificare se l'oggetto esiste già in un elenco
- 15. Python: come verificare se un elemento è stato aggiunto a un set, senza 2x (hash, ricerca)
- 16. Scoprire se nella mappa è già stato aggiunto un controllo degli opuscoli
- 17. Come verificare se un DataGridViewCheckBoxCell è verificato
- 18. SQLAlchemy: verificare se l'oggetto è già presente nella tabella
- 19. Verificare se il file è già nel controllo sorgente
- 20. Come interrogare la directory per verificare se è stato aggiunto un nuovo file?
- 21. Come posso verificare se un identificatore di riutilizzo è già stato registrato con un UITableView?
- 22. Verificare se è un oggetto
- 23. Come verificare se un oggetto è definito?
- 24. Come verificare se l'oggetto è un vettore
- 25. Come verificare se un buffer è vuoto?
- 26. Come verificare se un DataSet è vuoto?
- 27. Come verificare se java.lang.reflect.Type è un Enum
- 28. Come verificare se un puntatore è valido?
- 29. Come verificare se un contenitore è stabile
thx testato lo strato contro il super-nil lavorato solo di destra – abe