PocketSVG
2.7.3
ชุดเครื่องมือง่ายๆสำหรับการแสดงและจัดการ SVGs บน iOS และ MacOS ในลักษณะที่แสดง
เป้าหมายของโครงการนี้ไม่ได้เป็นตัวแยกวิเคราะห์ SVG ที่สอดคล้องอย่างสมบูรณ์/Renderer แต่แทนที่จะใช้ SVG เป็นรูปแบบสำหรับการทำให้เป็นอนุกรม CG/UIPATHS ซึ่งหมายความว่ารองรับคุณสมบัติ SVG ที่สามารถแสดงได้ด้วย CG/UIPATHS เท่านั้น
บันทึกอย่างละเอียด
path , line , polyline , polygon , rect , circle , ellipseUIImageView / NSImageView หรือคลาสย่อย CALayerCGPath สำหรับการจัดการที่ละเอียดยิ่งขึ้น dependencies: [
. package ( url : " https://github.com/pocketsvg/PocketSVG.git " , . upToNextMajor ( from : " 2.6.0 " ) )
]เพิ่มสิ่งนี้ลงใน PodFile ของคุณ:
pod 'PocketSVG' , '~> 2.6' จากนั้นเรียกใช้ pod install
เพิ่มสิ่งนี้ลงใน CartFile ของคุณ:
github "pocketsvg/PocketSVG" >= 2.7.2
จากนั้นเรียกใช้ carthage update --use-xcframeworks
SVGImageView let url = Bundle . main . url ( forResource : " tiger " , withExtension : " svg " ) !
let svgImageView = SVGImageView . init ( contentsOf : url )
svgImageView . frame = view . bounds
svgImageView . contentMode = . scaleAspectFit
view . addSubview ( svgImageView ) เอาท์พุท 
หมายเหตุ: โดยค่าเริ่มต้น SVGlayer shouldRasterize ตั้งค่าให้ตั้งค่าเป็น YES เมื่อทำงานบน iOS หากคุณต้องการเปลี่ยนแปลงการเปลี่ยนแปลงของเลเยอร์คุณอาจต้องการรีเซ็ตเป็น NO
CAShapeLayer view . backgroundColor = . white
let svgURL = Bundle . main . url ( forResource : " tiger " , withExtension : " svg " ) !
let paths = SVGBezierPath . pathsFromSVG ( at : svgURL )
let tigerLayer = CALayer ( )
for (index , path ) in paths . enumerated ( ) {
let shapeLayer = CAShapeLayer ( )
shapeLayer . path = path . cgPath
if index % 2 == 0 {
shapeLayer . fillColor = UIColor . black . cgColor
}
else if index % 3 == 0 {
shapeLayer . fillColor = UIColor . darkGray . cgColor
}
else {
shapeLayer . fillColor = UIColor . gray . cgColor
}
tigerLayer . addSublayer ( shapeLayer )
}
var transform = CATransform3DMakeScale ( 0.4 , 0.4 , 1.0 )
transform = CATransform3DTranslate ( transform , 200 , 400 , 0 )
tigerLayer . transform = transform
view . layer . addSublayer ( tigerLayer ) เอาท์พุท 
โปรดใช้ตัวติดตามปัญหาเพื่อรายงานข้อบกพร่องหรือคำขอไฟล์ใด ๆ
ยินดีต้อนรับ PRS