2015-02-10 14 views
23

का उपयोग कर How to draw a smooth circle..., ...Draw Circle... और ...draw filled Circles सवाल-जवाब की तरह सवाल में आकर्षित करने के लिए एक आसान तरीका है, बहुत व्यापक है अनावश्यक चरणों के बहुत सारे शामिल है और इस्तेमाल किया तरीकों के लिए सबसे आसान हमेशा नहीं है फिर से बनाने या लेते हैं।आईओएस - एक चक्र CAShapeLayer

एक आसान तरीका एक चक्र आकर्षित और यह मेरे UIView में जोड़ने के लिए क्या है?

उत्तर

83

सर्कल बनाने के लिए एक बहुत ही आसान और सीधा आगे तरीका CAShapeLayer बनाना और UIBezierPath जोड़ें।

CAShapeLayer *circleLayer = [CAShapeLayer layer]; 
[circleLayer setPath:[[UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 50, 100, 100)] CGPath]]; 

CAShapeLayer बनाने के बाद हम एक UIBezierPath होने के लिए अपनी path निर्धारित किया है।

हमारे UIBezierPath तो एक bezierPathWithOvalInRect खींचता है। CGRect हम सेट अपने आकार और स्थिति को प्रभावित करेगा।

अब हमारे पास हमारा सर्कल है, हम इसे पर sublayer के रूप में जोड़ सकते हैं।

[[self.view layer] addSublayer:circleLayer]; 

हमारे चक्र हमारे UIView में अब दिख रहा है। और fill रंग -

Circle

हम अपने चक्र के रंग गुण को अनुकूलित करना चाहते हैं तो हम आसानी से CAShapeLayer के stroke सेट करके ऐसा कर सकते हैं।

[circleLayer setStrokeColor:[[UIColor redColor] CGColor]]; 
[circleLayer setFillColor:[[UIColor clearColor] CGColor]]; 

Circle_wColors

Additionall गुण विषय https://developer.apple.com/.../CAShapeLayer_class/index.html पर  के दस्तावेज़ पर अधिक पाया जा सकता है।

+2

मैं उपरोक्त लाल सीमा/स्ट्रोक के आकार को कैसे बढ़ा सकता हूं? –

+0

@RohanSanap आप परत की लाइनविड्थ संपत्ति को संपादित करके ऐसा कर सकते हैं – sbru

संबंधित मुद्दे