我试图在UIView的drawRect函数中绘制100多个UIBezierPath圆。我正在创建UIBezierPaths并将其添加到数组中:
for (int i = 0; i < 100; i++) {
UIBezierPath *path = [UIBezierPath bezierPath];
[path addArcWithCenter:centerPoint radius:10 startAngle:0 endAngle:360 clockwise:YES];
path.lineWidth = 2;
[bezierPaths addObject:path];
}
在调用setNeedDisplay之前。然后在drawRect中迭代遍历数组
- (void)drawRect:(CGRect)rect {
for (UIBezierPath *path in bezierPaths) {
[path fill];
[path stroke];
}
}
这看起来有点矫枉过正,有没有更好的方法呢?使用Profile我可以看到86%的MainThread用于调用drawRect中的[path stroke]。
答案 0 :(得分:0)
我传递的是0度和360度,而不是放射线,它吸引了太多次。