CGPath

2011-03-25 12 views
11

का उपयोग कर एक रेखा खींचें CGGath का उपयोग करके मैं एक रेखा कैसे आकर्षित कर सकता हूं?CGPath

+1

कैसे यह बताने के लिए कि यहाँ क्या कहा जा रहा था मुश्किल है? इस प्रश्न की अन्य व्याख्या क्या हो सकती है कि पूछताछ करना चाहता था कि एक सीजीपैथ कैसे खींचना है जो एक रेखा का प्रतिनिधित्व करता है? – moonman239

+0

लाइन खींचने के कई तरीके हैं। कोर ग्राफिक्स, क्वार्ट्ज, ओपनजीएल, स्प्राइटकिट, जीएलकिट, सीनकेकिट, जीएल शेडर्स - बस कुछ नाम देने के लिए। हमें ओपी के इरादे/पसंदीदा ढांचे का अनुमान लगाना होगा। – LearnCocos2D

+1

क्या कोर ग्राफिक्स को मानना ​​सुरक्षित नहीं है, क्योंकि वह CGPath का संदर्भ दे रहा है? –

उत्तर

8

theView.h

#import <UIKit/UIKit.h> 

@interface theView : UIView { 
} 

@end 

theView.m

#import "theView.h" 

@implementation theView 

-(void)drawRect:(CGRect)rect { 

    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor); 
    CGContextSetLineWidth(context, 2.0); 
    CGContextMoveToPoint(context,0,0); 
    CGContextAddLineToPoint(context,20,20); 
    CGContextStrokePath(context); 
} 

@end 

ऊपर उल्लेख किया फ़ाइलों बनाएँ।
विंडो-आधारित ऐप: नया UIView जोड़ें और अपनी कक्षा को व्यू में बदलें।
व्यू-आधारित ऐप: UIView क्लास को व्यू में बदलें।
अंत में 'बिल्ड और रन' हिट करें :)

परिणाम: लाल विकर्ण रेखा।

+0

क्या आपको पथ या कुछ भी जारी नहीं करना चाहिए? –

+2

मुझे नहीं लगता कि आपने सवाल का जवाब दिया है। ओपी जानना चाहता है कि एक सीजीपैथ कैसे बनाया जाए जो एक रेखा का प्रतिनिधित्व करता है और उस CGPath को आकर्षित करता है। – moonman239

27

जैसा कि आपने वास्तव में पथ के साथ रेखा को आकर्षित करने के तरीके से अधिक निर्दिष्ट नहीं किया है, मैं आपको बस एक उदाहरण दूंगा।

एक UIView के drawRect में एक पथ के साथ शीर्ष बाएं कोने और नीचे सही (आईओएस पर) के बीच एक विकर्ण लाइन ड्राइंग:

- (void)drawRect:(CGRect)rect { 
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    CGMutablePathRef path = CGPathCreateMutable(); 
    CGPathMoveToPoint(path, NULL, 0, 0); 
    CGPathAddLineToPoint(path, NULL, CGRectGetMaxX(rect), CGRectGetMaxY(rect)); 
    CGPathCloseSubpath(path); 
    CGContextAddPath(ctx, path); 
    CGContextSetStrokeColorWithColor(ctx,[UIColor whiteColor].CGColor); 
    CGContextStrokePath(ctx); 
    CGPathRelease(path); 
} 
संबंधित मुद्दे