के रूप में जोड़ा गया है, मेरे पास 5 कैलियर हैं प्रत्येक एक संपत्ति है। मान लें कि मैंने उनमें से 3 को सबव्यूव के रूप में जोड़ा है। यदि परतों में से एक परत पहले से ही जोड़ दी गई है तो मुझे chk करने में सक्षम होना चाहिए।जांचें कि क्या एक कैलियर पहले से ही एक sublayer
5
A
उत्तर
10
क्या आपने superlayer
संपत्ति की कोशिश की है? यदि आपकी परत कहीं भी नहीं जोड़ा जाता है तो यह शून्य होना चाहिए।
6
if (layer.superlayer == parentLayer) {
...
} else {
...
}
4
view.layer.sublayers आप उप परतों की एक सरणी देता है, देखने के लिए अगर आपके परत जोड़ा गया है आप view.layer.sublayers.count की तरह कुछ कर सकते हैं और एक बार परत गिनती तक पहुँच जाता है कि तुम क्या न उम्मीद पूर्व के लिए और अधिक जोड़ें।
if (view.layer.sublayers.count < 3) {
//add layer
}else{
// do nothing because the layer has already been added.
}
आप जिस परत को ढूंढ रहे हैं उसे बेहतर ढंग से पहचानने के लिए आप सबलेयर सरणी में प्रत्येक परत की भी जांच कर सकते हैं। चूंकि वे गुण हैं, इसलिए आप यह देखने के लिए सरणी में प्रत्येक परत की तुलना करने में सक्षम होना चाहिए कि आप जिस परत को ढूंढ रहे हैं उसे जोड़ा गया है।
0
// CALayer शामिल उप-परत (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") } } } } }
संबंधित मुद्दे
- 1. जांचें कि क्या कोई संख्या पहले से ही पाइथन
- 2. एक कैलियर के sublayers के लिए एक व्यस्त CATransform3D लागू कर रहा है जो पहले से ही
- 3. सी # जांचें कि क्या एक COM (सीरियल) पोर्ट पहले से ही खुला है
- 4. जांचें कि कोई स्थिर पहले से ही परिभाषित है
- 5. जांचें कि फ़ाइल पहले से ही स्रोत नियंत्रण में है
- 6. जांचें कि पहले पुश
- 7. एक कैलियर
- 8. जांचें कि क्या एक पंक्ति
- 9. जांचें कि क्या एक डीएलएल लाइब्रेरी पहले ही लोड हो चुकी है? (जावा)
- 10. कैसे जांचें कि एक Magento उत्पाद पहले से ही कार्ट में जोड़ा गया है या नहीं?
- 11. जांचें कि एक स्ट्रिंग
- 12. एक कैलियर
- 13. जांचें कि क्या एक यूआरएल http: // prefix
- 14. जांचें कि क्या GoogleMap कैनवास तत्व पहले से निष्क्रिय है
- 15. एक कैलियर
- 16. जांचें कि क्या पर्यावरण चर पहले से सेट है
- 17. वहां पहले से ही एक वस्तु डेटाबेस
- 18. अगर वस्तु पहले से ही एक सूची
- 19. जांचें कि क्या फ़ाइल पहले से ही झुंड() का उपयोग कर बंद कर दी गई है?
- 20. जांचें कि क्या स्ट्रिंग में एक सबस्ट्रिंग
- 21. Nuget "पहले से ही एक संदर्भ है"
- 22. कॉल एक पहले से ही आबंटित स्मृति
- 23. पीएचपी सत्र कि पहले से ही
- 24. जांचें कि क्या पाइथन
- 25. वहां पहले से ही एक वस्तु डेटाबेस
- 26. एक कैलियर छायापाथ एनिमेटिंग
- 27. जांचें कि एक चर रूबी
- 28. जांचें कि एक स्ट्रिंग जावास्क्रिप्ट
- 29. जांचें कि क्या Guava
- 30. एकाधिक कैलियर एनिमेटिंग, लेकिन एक ही समय में अंतरिक्ष
THX सुपर परत का परीक्षण के खिलाफ शून्य सिर्फ सही काम किया जाँच करने के लिए – abe