从UIView或UIWindow获取CGContextRef以调试外部draw方法的方法如下:
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
// 在这里可以使用获取到的context进行绘制操作
}
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.0);
CGContextRef context = UIGraphicsGetCurrentContext();
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CALayer *layer = view.layer;
UIGraphicsBeginImageContextWithOptions(layer.bounds.size, NO, 0.0);
CGContextRef context = UIGraphicsGetCurrentContext();
[layer renderInContext:context];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
以上方法可以帮助你从UIView或UIWindow获取CGContextRef以调试外部draw方法。在获取到图形上下文后,你可以使用各种绘制方法进行调试和分析。
领取专属 10元无门槛券
手把手带您无忧上云