我绘制正方形并用此代码指向它:
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?
答案 0 :(得分:0)
如果你不需要对单个方块进行任何操作,你可以先尝试制作线条(全部垂直和5个水平),然后使用self.frame.size.height / 6除以4将循环中的点添加作为点之间的距离,每3点后跳过一次。只是一个建议。尝试它,如果它的工作。 :)