我正在做一个项目,我有一个时间表,用户可以单击一个月,然后在弹出窗口中查看该月获得的奖牌。现在,我想让程序安排奖牌图像(小的视觉圈)。应该这样安排,或者这样安排(我对一种特定的格式不是很特别,但我只是希望它们是对称的):
我知道我可能不清楚我的要求,因此请在需要进一步说明时提一下。
我需要逻辑来绘制奖牌的此图案或任何其他图案。我正在Objective-C中记录
最佳答案
您可以执行以下操作:
int nrmedals; //number of medals
CGPoint bottompos; //position of the lower left corner of the rectangle where you want to draw
float padding; //space between medals
float diameter; //diameter of the medals
if (nrmedals%2==0) { //even
for (int i=0; i<nrmedals; i+=2) {
draw medal one at position (bottompos.x,bottompos.y+ i/2 * (diameter + padding));
draw medal two at position (bottompos.x+diameter+padding ,bottompos.y + i/2 * (diameter + padding));
}
}else {//odd
for (int i=0; i<nrmedals-1; i+=2) {
draw medal one at position (bottompos.x,bottompos.y+ i/2 * (diameter + padding));
draw medal two at position (bottompos.x+diameter+padding ,bottompos.y + i/2 * (diameter + padding));
}
draw odd medal at position (bottompos.x +diameter/2+padding/2 ,bottompos.y+diameter * (nrmedals-1)/2 +padding);
}
这是基本思想(当然,您可以将“2”替换为变量,而不是每行2枚奖牌)
一些计算积分的数学运算可能不正确
关于iphone - 动态排列图案中的图像-iOS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13766916/