drawViewHierarchyInRect不起作用

时间:2015-05-28 09:23:09

标签: ios

我有一个地图视图,可以显示SVG地图。

我曾经使用renderInContext来获取UIImage,但是它的性能并不理想,我听说iOS 7有新的API来做这些事情,drawViewHierarchyInRect

现在我想通过drawViewHierarchyInRect将此地图视图转换为UIImage或屏幕截图为UIView 然而,

如果我使用drawViewHierarchyInRect,我没有得到任何有效的UIImage,我怀疑它们是相同的原因

snapshotView的代码,

PS:为了表现,我不会将_mapView添加到任何视图中

-(void)drawRect:(CGRect)rect {
    UIGraphicsBeginImageContextWithOptions(_mapView.bounds.size, _mapView.opaque, [[UIScreen mainScreen] scale]);
    CGContextRef context = UIGraphicsGetCurrentContext();
    //    [mapView.layer renderInContext:context];
    [_mapView drawViewHierarchyInRect:_mapView.bounds afterScreenUpdates:YES];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    self.thumbImageView = [[UIImageView alloc] initWithImage:image];
    [self addSubview:self.thumbImageView];
}

0 个答案:

没有答案