我有一个自定义形状绘制在drawRect:
中的UIView
。 frame
属性设置为:
{5.f, 6.f, 50.f, 50.f}
现在,我在图像上下文中渲染视图,但它忽略了UIView
的帧属性,并始终将UIView
绘制在左上角。
[_shapeView.layer renderInContext:UIGraphicsGetCurrentContext()];
我尝试修改CALayer
的frame
,但是没有任何变化。修改bounds
属性会使事情变得更糟。我找到唯一有用的解决方法是:
CGRect frame = _shapeView.frame;
CGContextTranslateCTM(context, frame.origin.x, frame.origin.y);
[_shapeView.layer renderInContext:context];
但是,当我处理许多图形时,这种方法并不实用,我希望只使用frame属性。
bounds
的起点。 - David RönnqvistCGContextDrawLayer
方法,但当我尝试使用它们时会抛出EXE_BAD_ACCESS错误。我猜最好还是避免使用它们。 - Mazyod