我正在开展一个项目,我有一个时间轴,用户可以点击一个月,然后在弹出窗口中查看该特定月份的奖牌。现在,我希望程序安排奖牌图像(小视觉圈)。应该像这样安排,或类似的东西(我不是特别关注一种特定的格式,但我只是希望它们是对称的):
我知道我可能不清楚我的要求,所以如果你需要澄清,请提及。
我需要逻辑来为奖牌绘制这个或任何其他模式。我正在使用objective-c进行记录
答案 0 :(得分:1)
你可以这样做:
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枚奖牌)
计算点数的一些数学可能会关闭