我有一个自定义层,它是其他东西的子层。问题是,我的图层在进入drawLayer:inContext:
.
当我不更改图层的边界/框架时,一切都会完美绘制。
当我添加更改框架/边界的行时,我的背景看起来很完美,但我的内容不存在。看起来内容正在裁剪原始边界而不是新的(更大的)边界,所以我只看到背景。
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context {
CGFloat initialGraphContentsWidth = graph.frame.size.width - graph.leftMargin;
CGFloat initialGraphContentsHeight = graph.frame.size.height - graph.bottomMargin - graphHelper.topMargin;
self.frame = CGRectMake(0, 0, initialGraphContentsWidth, initialGraphContentsHeight);
self.position = CGPointMake(graphHelper.leftMargin + 1, graphHelper.topMargin + 1);
self.backgroundColor = [UIColor greenColor].CGColor;
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
CGContextAddRect(context, CGRectMake(0, 0, 20, 20));
}
那么如何动态更改我的界限并仍然让我的内容出现?
我尝试设置CATransaction
持续时间为 0 的 a,但没有任何效果。