【问题标题】:Progress view with secondary progress for objective C (three colored progress bar)具有目标 C 次要进度的进度视图(三色进度条)
【发布时间】:2014-08-07 10:31:27
【问题描述】:

iOS7 中的新进度视图发生了很大变化。 一堆人讨厌它,高度不能调整那么微不足道等等。

我遇到的问题是如何在一个进度条上显示主要和次要进度。 例如,如果一个学生在 0f 10 个问题中回答了 8 个问题,并且在这 8 个问题中,他回答了 3 对和 5 个错误,那么如何显示所有这些?!

例如,在 Android 上,这很好地解决了,您只需输入主要和次要进度的数据。但在 iOS 中,没有这样的选项。

如何在目标 C 中实现这一点?

【问题讨论】:

    标签: ios objective-c progress-bar


    【解决方案1】:

    我想出的解决方案相当简单,可以很好地满足我的需求。

    我会简单地制作三个标签,我需要不同的颜色,并相应地设置它们的宽度。 此外,通过这样做,我能够将进度条高度设置为我想要的高度。

    首先,您制作三个标签。

    您将希望将它们一个在另一个之上,以实现该进度条的外观。 我把图片放在下面,展示了它们的实际外观。

    进度条的灰色部分永远不会改变它的宽度(例如我们设置为280) 如果没有什么可显示的,只需将_redLabel和_greenLabel宽度设置为0,即可得到未设置的进度条。

    如果要显示总共有的情况

    • 学生必须回答的 10 个问题
    • 8 他回答了
    • 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;
      

    然后就可以了。你有自己的进度条。您可以根据需要设置宽度和高度,可以设置所需的颜色,甚至可以添加任意数量的标签。 此外,您可以通过编程方式制作所有这些标签,无需事先定义它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      • 2013-08-15
      • 2012-12-01
      • 2016-11-02
      • 2015-02-20
      • 2015-09-19
      相关资源
      最近更新 更多