Un conjunto de herramientas simple para mostrar y manipular SVGS en iOS y macOS de manera performitante.
El objetivo de este proyecto no es ser un analizador/renderizador SVG totalmente compatible. Sino más bien para usar SVG como formato para serializar CG/UIPaths, lo que significa que solo admite las características de SVG que pueden representarse por CG/UIPATHS.
Completamente documentado.
path , line , polyline , polygon , rect , circle , ellipseUIImageView / NSImageView o subclase CALayer .CGPath para una manipulación más de grano fino. dependencies: [
. package ( url : " https://github.com/pocketsvg/PocketSVG.git " , . upToNextMajor ( from : " 2.6.0 " ) )
]Agregue esto a su Podfile:
pod 'PocketSVG' , '~> 2.6' Luego ejecute pod install
Agregue esto a su archivo de cartón:
github "pocketsvg/PocketSVG" >= 2.7.2
Luego ejecute 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 ) Producción 
Nota: Por defecto, Svglayer tiene shouldRasterize establecido en YES cuando se ejecuta en iOS. Si necesita animar los cambios en la transformación de la capa, es posible que desee restablecerlo al 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 ) Producción 
Utilice el rastreador de problemas para informar los errores o solicitudes de funciones de archivo.
Los PR son bienvenidos.