के साथ पहली बार BezierPaths का उपयोग करके एक रेखा बनाएं, यह सोचकर कि यह फ़ंक्शन वास्तव में कैसे कार्यान्वित किया जाना चाहिए। स्क्रीन पर ड्राइंग के विपरीत वर्तमान में बेजियर पथ छवि के फ्रेम के भीतर चलता है।UIBezierPath
क्या ऐसा करने का कोई बेहतर तरीका है?
func drawLineFromPoint(start : CGPoint, toPoint end:CGPoint, ofColor lineColor: UIColor, inView view:UIView) {
var maxWidth = abs(start.x - end.x)
var maxHeight = abs(start.y - end.y)
var contextSize : CGSize!
if maxWidth == 0 {
contextSize = CGSize(width: 1, height: maxHeight)
}else {
contextSize = CGSize(width: maxWidth, height: 1)
}
//design the path
UIGraphicsBeginImageContextWithOptions(contextSize, false, 0)
var path = UIBezierPath()
path.lineWidth = 1.0
lineColor.set()
//draw the path and make visible
path.moveToPoint(start)
path.addLineToPoint(end)
path.stroke()
//create image from path and add to subview
var image = UIGraphicsGetImageFromCurrentImageContext()
var imageView = UIImageView(image: image)
view.addSubview(imageView)
UIGraphicsEndImageContext()
}
अन्य, अधिक प्रत्यक्ष दृष्टिकोण, बल्कि इस तरह के चित्रों का उपयोग की तुलना में, 'उपयोग करने के लिए कर रहे हैं CAShapeLayer 'या कस्टम' drawRect', जैसा कि यहां वर्णित है: http://stackoverflow.com/a/16846770/1271826 – Rob