/ / ड्राइंग सीमाएं और कोको में मूल रूप से हाइलाइट्स - उद्देश्य-सी, आईओएस, मैकोस, एनएसवीव, एनएसग्रैडिएंट

कोको में उद्देश्य रेखाएं और मुख्य रूप से हाइलाइट्स - उद्देश्य-सी, आईओएस, मैकोस, एनएसवीव, एनएसग्रैडिएंट

मैं कोको में मूल रूप से हाइलाइट्स और गैर-4-पक्षीय सीमाओं को कैसे आकर्षित कर सकता हूं?

एक उदाहरण नीचे दी गई छवि है। शीर्ष पर एक छोटी 1 पीएक्स सफेद आंतरिक सीमा और नीचे एक ग्रे 1 पीएक्स भीतरी सीमा है। वहां केवल शीर्ष पर और दृश्य के नीचे एक गहरा भूरे रंग की सीमा भी है।

क्या यह मूल रूप से किया जा सकता है? या इसके लिए छवियों की आवश्यकता है?

यहां छवि विवरण दर्ज करें

उत्तर:

जवाब के लिए 3 № 1

आंतरिक सीमा प्राप्त करने का एक त्वरित तरीका परत के छाया गुणों का उपयोग उस दृश्य से करना है जिसे आप सीमाबद्ध करना चाहते हैं (ध्यान दें -1, किनारे के अंदर सीमा को स्थानांतरित करता है):

myView.layer.shadowOpacity = 1.0;
myView.layer.shadowColor = [UIColor blackColor].CGColor;
myView.layer.shadowOffset = CGSizeMake( 0, -1 );

अन्यथा आप दृश्य को उपclass कर सकते हैं और अपने drawRect में ऐसा कुछ डाल सकते हैं: विधि:

[super drawRect: rect];

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState( context );
CGContextSetStrokeColorWithColor( context, [UIColor blackColor].CGColor );
CGContextSetLineWidth( context,  1.0 );

CGContextMoveToPoint( context, 0, 0 );

CGContextAddLineToPoint( context,  self.bounds.size.width, 0 );
CGContextStrokePath( context );

CGContextRestoreGState( context );