【发布时间】:2015-10-01 07:02:33
【问题描述】:
我用这个代码画正方形并指向它:
CGFloat mmForSqure = self.frame.size.height/6;
UIBezierPath *path = [UIBezierPath bezierPathWithRect:CGRectMake(originX, originY, mmForSqure, mmForSqure)];
CGFloat originPoint = mmForSqure/4;
for (int i = 1; i<4; i++) {
for (int j = 1; j<4; j++) {
CGPoint pathPoint = CGPointMake(i*originPoint+originX, j*originPoint+originY);
[path moveToPoint:pathPoint];
[path addLineToPoint:CGPointMake(i*originPoint+originX+1, j*originPoint+originY+1)];
}
}
CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
shapeLayer.path = path.CGPath;
shapeLayer.fillColor = [UIColor whiteColor].CGColor;
shapeLayer.strokeColor = [UIColor blackColor].CGColor;
shapeLayer.lineWidth = 1.0;
[self.layer addSublayer:shapeLayer];
和其他有两个循环的正方形
CGFloat sizeOfSquared = self.frame.size.height/6;
for (int i = 0; i<=self.frame.size.width/sizeOfSquared; i++) {
for (int j=0; j!=6; j++) {
}
}
但这是一个缓慢的 UI 并且占用大量资源,有人知道如何优化资源消耗和 UI 吗??
【问题讨论】:
-
你为什么不使用 UICollectionView.. 一次单元格中有 9 个按钮
标签: ios draw uibezierpath quartz-core