नीचे दिया गया कोड अच्छी तरह से एक गोलाकार आयत बनाता है जिसे सीजीआरईटी (रेक्ट्रैक्ट) द्वारा परिभाषित किया गया है।इसे भरने के बाद पथ को स्ट्रोक नहीं कर सकता
यह ठीक हो जाता है, लेकिन मुझे स्ट्रोक नहीं मिल रहा है। कोई विचार क्यों मैं स्ट्रोक नहीं देख सकता?
-(void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(ctx, 0, 0, 0, 0.4);
CGContextSetRGBStrokeColor(ctx, 1, 1, 1, 1);
CGContextSetLineWidth(ctx, 4.0);
float fw, fh;
rect = rectRect;
float ovalWidth = 12;
float ovalHeight = 12;
if (ovalWidth == 0 || ovalHeight == 0) {
CGContextAddRect(ctx, rect);
return;
}
CGContextTranslateCTM (ctx, CGRectGetMinX(rect), CGRectGetMinY(rect));
CGContextScaleCTM (ctx, ovalWidth, ovalHeight);
fw = CGRectGetWidth (rect)/ovalWidth;
fh = CGRectGetHeight (rect)/ovalHeight;
CGContextMoveToPoint(ctx, fw, fh/2);
CGContextAddArcToPoint(ctx, fw, fh, fw/2, fh, 1);
CGContextAddArcToPoint(ctx, 0, fh, 0, fh/2, 1);
CGContextAddArcToPoint(ctx, 0, 0, fw/2, 0, 1);
CGContextAddArcToPoint(ctx, fw, 0, fw, fh/2, 1);
CGContextClosePath(ctx);
CGContextFillPath(ctx);
CGContextStrokePath(ctx);
}
धन्यवाद। यह वही है जिसे मैं देख रहा था। – Mrwolfy
ओह, वैसे, UIBezierPath विकल्प उच्च प्रदर्शन फ़िक्स है? यह बिल्कुल बिल्कुल काम करता है। या मुझे कहीं और दिखना चाहिए। – Mrwolfy
प्रदर्शन के बारे में चिंता न करें जब तक कि उपकरण आपको बताए कि आपकी बाधाएं कहां हैं। –