你好,
过去一周我一直在尝试解决如何在我的 viewController 中创建两个 progressView 的问题,但几乎没有成功。请参阅我附上的图表,作为我提出的问题的想法。
我正在创建一个带有计时器的游戏,每个问题都会计时。随着时间的流逝,我希望 UIProgressView 沿着整个屏幕从蓝色过渡到白色(请参见图中的数字 1,这表示白色 trackTintColor)。
图中的数字 2(青色部分)代表 progressTintColor。该图应该很清楚,因为我希望自定义 progressView 以便它向下跟踪。这是目前的主要问题之一。 (我似乎只能用小的可定制的 Progressviews 来完成演练,这些 Progressviews 是横向移动的,而不是上下移动的)
我想要实现的最困难的部分是(图中的数字 3),自定义 UIImageView,以便它慢慢地向下排水,背景颜色相反(所以狗会变成白色,青色向下泛滥与它后面流逝的 progressView 一致)。
到目前为止,这些是我尝试解决此问题的选项,但无济于事。
我尝试过使用 progressView 作为 backgroundColor,但我找不到任何其他人(向下)这样做的例子,所以我不确定这是否可行?
对于图像,我已经尝试绘制一个 CAShape 图层,但是对于像我这样的新手来说,狗的形状似乎太难了,无法有效地绘制。当意识到我无法在狗身后设置不同颜色的层以向下移动时,因为屏幕也会改变颜色,我放弃了使用此选项的所有希望。
我已经为狗图像尝试了一个 UIView 过渡,但是,我能找到的唯一一个接近的选项是 transitionCrossDissolve,它没有产生我希望的向下效果,而是从一只白狗淡化到一只不合适的青色狗。我应该以某种方式使用 progressImage 吗?如果是这样,是否可以在任何地方找到有关语法的帮助?我似乎找不到任何地方。
目前,我的 Assets 文件夹中有 55 张图片,每张图片的青色都比上一张略多,并逐渐向下移动(因为它通过一系列图片进行动画处理)。虽然这可行,但它并不是完全无缝的,看起来有点像用户在等待拨号时加载图像。
如果有人有任何想法或可以抽出时间来指导我如何去做这件事,我将非常感激。我还是个初学者所以越详细越好!哦,是的,让事情变得更困难,到目前为止,我已经设法以编程方式完成应用程序,所以以这种形式回答会很好。
提前致谢!
最佳答案
我希望你已经完美地完成了 number 1
和 number 2
。我试过 3 号。
我试过两个 UIView。它工作正常。我想,它会提供一些想法来实现您的目标。
我有两张图片。
在 TIMER
的帮助下,我尝试了这个 ProgressView
的示例。
最初,cyanDogView
高度应该为零。计时器启动后,高度应增加 2px
。一旦 cyanDogView 的
高度应大于 BlackDogView
,则 Timer
停止。
编码
@IBOutlet weak var blackDogView: UIView!
@IBOutlet weak var blackDogImgVw: UIImageView!
@IBOutlet weak var cyanDogView: UIView!
@IBOutlet weak var cyanDogImgVw: UIImageView!
var getHeight : CGFloat = 0.0
var progressTime = Timer()
override func viewDidAppear(_ animated: Bool) {
cyanDogView.frame.size.height = 0
getHeight = blackDogView.frame.height
}
@IBAction func startAnimateButAcn(_ sender: UIButton) {
progressTime = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(self.update), userInfo: nil, repeats: true)
}
@objc func update() {
cyanDogView.frame.size.height = cyanDogView.frame.size.height + 2
if cyanDogView.frame.size.height >= getHeight
{
progressTime.invalidate()
cyanDogView.frame.size.height = 0
}
}
Storyboard
输出
关于ios - UIProgressView 设置为图像? UIprogressView 整个contentView,向下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48836938/