Skip to content

Commit

Permalink
SVG view layer refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
djphoenix committed May 15, 2015
1 parent 4c15691 commit 1b03714
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions pxSVG/pxSVGView.m
Expand Up @@ -10,30 +10,32 @@
#import "pxSVGLayer.h"

@interface pxSVGView () <pxSVGLayerDelegate>
@property (weak) pxSVGLayer *svgLayer;
@end

@implementation pxSVGView

+ (Class)layerClass
{
return [pxSVGLayer class];
}

- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
self.contentMode = UIViewContentModeScaleAspectFit;
pxSVGLayer *sl = [pxSVGLayer new];
[self.layer addSublayer:sl];
self.svgLayer=sl;
self.svgLayer.svgDelegate = self;
pxSVGLayer *sl = (pxSVGLayer*)self.layer;
sl.svgDelegate = self;
return self;
}

- (void)layoutSublayersOfLayer:(CALayer *)layer
{
[super layoutSublayersOfLayer:layer];
if (layer != self.layer) return;
self.svgLayer.transform = CATransform3DIdentity;
[self.svgLayer setFrame:self.layer.bounds];
self.layer.transform = CATransform3DIdentity;
[self.layer setFrame:self.bounds];
CATransform3D tr = CATransform3DIdentity;
CGRect c = self.svgLayer.contentRect;
CGRect c = ((pxSVGLayer*)self.layer).contentRect;
CGFloat
scx = c.size.width/self.bounds.size.width,
scy = c.size.height/self.bounds.size.height,
Expand All @@ -47,7 +49,7 @@ - (void)layoutSublayersOfLayer:(CALayer *)layer
break;
default: break;
}
[self.svgLayer setTransform:tr];
[(pxSVGLayer*)self.layer setTransform:tr];
}

- (void)svgLayerDidLoadImage:(pxSVGLayer *)svgLayer
Expand All @@ -66,17 +68,17 @@ - (void)svgLayer:(pxSVGLayer *)svgLayer didFailedLoad:(NSError *)error

- (void)loadData:(NSData *)data
{
[self.svgLayer loadData:data];
[(pxSVGLayer*)self.layer loadData:data];
}

- (void)loadString:(NSString *)string
{
[self.svgLayer loadString:string];
[(pxSVGLayer*)self.layer loadString:string];
}

- (void)loadURL:(NSURL *)url
{
[self.svgLayer loadURL:url];
[(pxSVGLayer*)self.layer loadURL:url];
}

@end

0 comments on commit 1b03714

Please sign in to comment.