Her biri bir özellik olan 5 CALayer sahibim. Bunlardan 3 tanesini alt rapor olarak eklediğimi varsayalım. Katmanlardan biri katmana zaten eklenmişse chk yapabilmem gerekir.Bir CALayer'ın zaten bir alt katman olarak eklendiğini kontrol edin
5
A
cevap
10
superlayer
özelliğini mi denediniz? Katman herhangi bir yere eklenmezse, sıfır olmalıdır.
6
if (layer.superlayer == parentLayer) {
...
} else {
...
}
4
view.layer.sublayers sizin katman katman sayısı dont beklediğiniz ulaştığında size view.layer.sublayers.count gibi bir şey yapabiliriz ve eklenip eklenmediğini görmek için, size alt tabakaların bir dizi verir ex için daha fazla ekle
if (view.layer.sublayers.count < 3) {
//add layer
}else{
// do nothing because the layer has already been added.
}
Ayrıca daha iyi Aradığınız katmanı tanımlamak için alt katmanı dizideki her katmanı inceleyebilirsiniz. Özellikleri olduklarından, aradığınız katmanın eklenip eklenmediğini görmek için dizideki katmanların her birine bir karşılaştırma yapabilmeniz gerekir.
0
// CALayer nil sadece doğru çalıştı karşı Altkatmanı (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") } } } } }
İlgili konular
- 1. Bir Listenin zaten bir öğe içerip içermediğini kontrol edin.
- 2. Bir xml düğümünün alt alt öğe içerip içermediğini kontrol edin
- 3. Bir GoogleMap Canvas öğesinin zaten boşta olup olmadığını kontrol edin
- 4. Süratli bir alt katman nasıl eklenir?
- 5. Geçerli bir tarih kontrol edin
- 6. jQuery kontrol edin mysql veritabanı kullanıcı adı zaten alınmışsa
- 7. Bir telefonun SMS gönderebileceğini kontrol edin
- 8. Java JPA: Varlık zaten DB içinde var mı kontrol edin
- 9. Değeri sözlükler listesinde zaten var mı kontrol edin? aşağıdaki gibi
- 10. Bir kullanıcı zaten raylarda bir kayda sahip olduğunu test edin
- 11. Geçerli bir tarihi gün, Ay ve Yıl olarak kontrol edin
- 12. GUI durumlarını ve alt kümelerini koruyun ve kontrol edin
- 13. Bir sınıf var mı kontrol edin
- 14. Belirli bir tarihin geçip geçmediğini kontrol edin
- 15. Bir fonksiyonun @classmethod kullanıp kullanmadığını kontrol edin
- 16. Dize bir sayı olup olmadığını kontrol edin
- 17. Amaç-C tipi bir blok kontrol edin?
- 18. Türün bir arabirim olup olmadığını kontrol edin
- 19. CMake bir yerel dosya olduğunu kontrol edin
- 20. Çantada bir eleman bulunup bulunmadığını kontrol edin.
- 21. Cassandra'da bir satır TTL kontrol edin?
- 22. Olayın bir insan tarafından tetiklendiğini kontrol edin
- 23. Bir sayfanın açık olup olmadığını kontrol edin
- 24. CodeIgniter'deki bir görünümden oturumu kontrol edin
- 25. Bir dosyanın açık olduğunu kontrol edin
- 26. Değişkenin bir sayı olduğunu kontrol edin
- 27. Listenin bir türü olup olmadığını kontrol edin?
- 28. Selenyum - bir resmin görüntülenip görüntülenmediğini kontrol edin
- 29. Bir nesnenin boş olup olmadığını kontrol edin
- 30. Bir dizenin tarih içerip içermediğini kontrol edin
thx süper tabakasını test İçeren kontrol etmek – abe