我有一个任务,在这个任务中,我必须根据计时器值增加视图大小。我知道视图帧会增加,但我正在搜索的方式就像第一轮完成,然后另一层轮出现在它上,使视图帧的大小增加,并希望的输出也会显示。

发布于 2017-04-01 11:51:16
这是密码。
import UIKit
class ViewController: UIViewController{
var offsetx:CGFloat!
var offsety:CGFloat!
var size: CGFloat!
var timer: Timer!
override func viewDidLoad() {
super.viewDidLoad()
offsetx = view.frame.size.width/2.0;
offsety = view.frame.size.height/2.0;
size = 1.0
timer = Timer.scheduledTimer(timeInterval: 0.7, target: self, selector: #selector(drawCircle), userInfo: nil, repeats: true)
}
func drawCircle() {
let cirecle:UIView = UIView()
cirecle.frame = CGRect(x: offsetx, y: offsety, width: size, height: size);
cirecle.layer.borderColor = UIColor.green.cgColor
cirecle.layer.borderWidth = 1.0
cirecle.backgroundColor = UIColor.clear
cirecle.layer.cornerRadius = size / 2.0
offsetx = offsetx - 6.0
offsety = offsety - 6.0
size = size + 12.0
view.addSubview(cirecle)
}发布于 2017-04-01 13:39:35
就像这样..。
var radius = 1
func drawCircle() {
let circle = UIView()
circle.frame.size = CGSize(width: radius * 2, height: radius * 2)
circle.backgroundColor = .clear
circle.layer.cornerRadius = radius
circle.layer.borderWidth = 1
circle.layer.borderColor = UIColor.red.cgColor
circle.center = self.center
view.addSubview(circle)
radius += 1
}请注意。不确定你是否想继续添加视图。如果不是,请将视图属性置于方法之外,并在再次初始化它之前,只更新大小和/或先从superview中删除它。此外,你可能想把半径限制在最大值上。
https://stackoverflow.com/questions/43156198
复制相似问题