iOS7中的新进度视图发生了很大变化。 一群人讨厌它,高度不能调整那么琐碎等等。
我遇到的问题是如何在一个进度条上显示主要和次要进度。 例如,如果一个学生在10个问题中回答了8个问题,那么在8个问题中,他回答3个正确,5个错误,如何表明这一切?!
在Android上,例如,这很好地解决了,您只需输入主要和次要进度的数据。但在iOS中,没有这样的选择。
如何在目标C中实现这一目标?
答案 0 :(得分:2)
他提出的解决方案非常简单,并且能够很好地满足我的需求。
我只需制作三个标签,我需要不同的颜色,并相应地设置它们的宽度。 此外,通过这样做,我能够将进度条高度设置为我想要的。
首先,你制作三个标签。
您需要将它们放在另一个上面,以实现进度条的外观。 我把下面的图片放在下面,显示它们的实际外观。
进度条的灰色部分永远不会改变它的宽度(我们设置为280例如) 如果没有要显示的内容,只需将_redLabel和_greenLabel宽度设置为0,即可获得未设置的进度条。
如果要显示总计
的情况4回答正确(绿色)4回答错误(红色)
//question size represents width of one question on progress bar. You just divide the width of the entire bar with number of possible questions (max)
int questionSize = 280 / num_possible_question;
int greenProgressSize = green * questionSize;
CGRect greenProgress = CGRectMake( 20, 95, greenProgressSize, 8 );
cell.greenLabel.frame = greenProgress;
int redProgressSize = (red+green) * questionSize;
CGRect redProgress = CGRectMake( 20, 95, redProgressSize, 8 );
cell.redLabel.frame = redProgress;
CGRect grayProgress = CGRectMake( 20, 95, 280, 8 );
cell.grayLabel.frame = grayProgress;
你去吧。你有自己的进度条。您可以根据需要设置宽度和高度,您可以设置所需的颜色,甚至可以添加任意多的标签。 此外,您可以以编程方式创建所有这些标签,无需事先定义它们。