首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在while循环中更新UIView的背景色

在while循环中更新UIView的背景色
EN

Stack Overflow用户
提问于 2017-01-19 21:48:30
回答 1查看 78关注 0票数 0

我想在while循环中更改UIView的颜色。我从主线程调用start()

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func start() {

    let item = Percolation(n: self.tileSideCount)

    while (!item.percolates()) {
        let v = Int(arc4random_uniform(UInt32(self.tileSideCount))) + 1
        let j = Int(arc4random_uniform(UInt32(self.tileSideCount))) + 1

        UIView.animate(withDuration: 0.3, delay: 0.0, options: [], animations: {
            self.container?.viewWithTag(v)?.backgroundColor = UIColor.white
            self.container?.viewWithTag(j)?.backgroundColor = UIColor.white
        }, completion: { (finished: Bool) in

        })

        if (!item.isOpen(i: v, j: j)) {
            item.open(i: v, j: j);
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-19 21:56:38

如果希望颜色按顺序从一种颜色更改到另一种颜色,则需要提交具有延迟和持续时间值的动画调用,以便在下一个动画开始时完成上一个动画。

假设每个动画的持续时间为1秒。使第一个动画以延迟0开始,第二个动画以延迟1秒开始,依此类推。

(同样适用于其他持续时间。如果持续时间为.3秒,则使每个后续动画的开始时间比前一个动画晚0.3秒。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41752329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文