有两个drawRect方法:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
// do drawing here
CGContextRestoreGState(context);
}
和
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
UIGraphicsPushContext(context);
// do drawing here
UIGraphicsPopContext();
}
UIGraphicsPushContext / UIGraphicsPopContext 来自UIKit 而 CGContextSaveGState / CGContextRestoreGState 来自CoreGraphics。
问题:这些方法有什么区别?哪个更好用?是否有一些例子证明一种方法比另一种更好,反之亦然?