【发布时间】:2011-07-23 13:19:04
【问题描述】:
我想知道是否需要检查是否在传递给 drawRect: 的 CGRect 范围内,或者 drawRect: 是否会自动为我处理。
例如,假设我在屏幕上有 10 个UIBezierPaths。每条曲线都位于名为curves 的NSMutableArray 中。每次调用drawRect: 时,它都会遍历这个数组并绘制它在那里找到的曲线。如果用户移动一条曲线,我发现它包含CGRect 和call [self setNeedsDisplayInRect:containingRect]。在我的drawRect: 实现中,我是否需要亲自检查每个UIBezierPaths 是否属于传递给drawRect: 的CGRect(使用CGRectIntersectsRect),还是自动处理?
【问题讨论】:
-
不检查会怎样?有用吗?
-
它不会自动处理。你必须
-
垫 - 是的,它有效。但这可能是因为它只是重绘整个屏幕,而不仅仅是传递给 drawRect 的脏矩形:
-
@vijay - 这就是我的怀疑。
标签: ios cocoa-touch drawing drawrect