+ Vastly improved blur Annotation.

This commit is contained in:
moritz haarmann
2014-03-19 13:27:55 +01:00
parent e0057f650e
commit 7b19d21c49
2 changed files with 18 additions and 7 deletions

View File

@@ -35,23 +35,30 @@
UIGraphicsBeginImageContext(size);
[sourceImage drawInRect:CGRectMake(0, 0, size.width, size.height)];
self.scaledImage = UIGraphicsGetImageFromCurrentImageContext();
self.imageLayer.shouldRasterize = YES;
self.imageLayer.rasterizationScale = 1;
self.imageLayer.magnificationFilter = kCAFilterNearest;
self.imageLayer.contents = (id)self.scaledImage.CGImage;
UIGraphicsEndImageContext();
}
- (void)layoutSubviews {
[super layoutSubviews];
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
self.imageLayer.frame = self.imageFrame;
self.imageLayer.masksToBounds = YES;
[CATransaction commit];
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
-(BOOL)resizable {
return YES;
}
*/
@end

View File

@@ -162,6 +162,8 @@
self.currentAnnotation.frame = CGRectMake(self.panStart.x, self.panStart.y, bla.x - self.panStart.x, bla.y - self.panStart.y);
self.currentAnnotation.movedDelta = CGSizeMake(bla.x - self.panStart.x, bla.y - self.panStart.y);
self.currentAnnotation.imageFrame = [self.view convertRect:self.imageView.frame toView:self.currentAnnotation];
[self.currentAnnotation setNeedsLayout];
[self.currentAnnotation layoutIfNeeded];
} else {
self.currentAnnotation = nil;
self.isDrawing = NO;
@@ -183,6 +185,8 @@
self.currentAnnotation.frame = annotationFrame;
self.currentAnnotation.imageFrame = [self.view convertRect:self.imageView.frame toView:self.currentAnnotation];
[self.currentAnnotation setNeedsLayout];
[self.currentAnnotation layoutIfNeeded];
[gestureRecognizer setTranslation:CGPointZero inView:self.view];