【问题标题】:move a UIView according to the progressView's Progress根据progressView的Progress移动一个UIView
【发布时间】:2016-05-19 18:42:01
【问题描述】:
我正在尝试制作这个用户界面:
上面的 UI 在 UITableViewCell 上包含一个 ProgressView 并且垂直线是一个 UIView(如果我应该使用其他东西然后 UIView 用于这条垂直线,那么请提供您的建议)以及移动这条垂直线?如图所示,如何将这条线放在条形图的填充点,如果有人知道,请告诉我,这对我很有帮助
我需要的伪代码将是这样的
verticleLine.xAxisPostion = progressBar.progress.xAxis
【问题讨论】:
标签:
ios
uiview
autolayout
swift2
【解决方案1】:
在这里尝试开箱即用:也许您可以使用UISlider 而不是将userInteractionEnabled 设置为false?使用UISlider,您不仅可以指定轨道颜色,还可以指定拇指图像(在您的情况下是一个很小的纯灰色垂直条)。
稍微扩展一点:将minimumTrackTintColor 设置为绿色,将maximumTrackTintColor 设置为红色(或minimum/maximumTrackImage 的可拉伸图像),minimumValue 设置为0,maximumValue 设置为1。您现在可以使用 value 而不是 progress — 它应该给您提供与 value 之后的拇指(灰色条)大致相同的行为。
【解决方案2】:
上面的 UI 包含一个 ProgressView
不要使用 UIProgressView。只需创建您自己的自绘视图,该视图看起来完全符合您的要求。您设计的视图——进度点左侧为绿色,进度点右侧为红色,进度点右侧为垂直线——绘制起来很简单,当进度发生时重绘也很简单(即当值改变时)。