0

绘制的第一个圆圈(最里面的一个)是可以的,但随后它们变得越来越不圆?我知道这一定与迭代有关。

//LOAD CIRCLES

circleWidth = 100;
circleHeight = 100;

for (int i = 0; i < 4; i++) {
UIView *circleView = [[UIView alloc] init];
circleView.frame = CGRectMake(0, 0, circleWidth, circleHeight);
circleView.center = self.view.center;
circleView.alpha = 0.7;
circleView.layer.cornerRadius = 50;
circleView.backgroundColor = [UIColor clearColor];
circleView.layer.borderColor = [[UIColor whiteColor] CGColor];
circleView.layer.borderWidth = 3;
circleHeight += 50;
circleWidth += 50;

[self.view addSubview:circleView];
[self.view sendSubviewToBack:circleView];

}
4

3 回答 3

2

您必须将cornerRadius 设置为至少一半circleHeight

circleView.layer.cornerRadius = circleHeight * 0.5f;
于 2012-08-21T19:48:02.663 回答
2

也许它必须做 circleView.layer.cornerRadius = 50 - 你正在增加 circleHeight 和 circleWidth 但不是cornerRadius

于 2012-08-21T19:48:16.543 回答
0

您在每次迭代中增加宽度和高度,但cornerRadius保持固定在 50,如果宽度和高度为 100(第一次迭代),这只会导致一个圆圈。您应该将 设置cornerRadiuscircleWidth * 0.5

于 2012-08-21T19:48:28.587 回答