首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现视图,使其像圆圈一样增长?

如何实现视图,使其像圆圈一样增长?
EN

Stack Overflow用户
提问于 2017-04-01 11:23:04
回答 2查看 78关注 0票数 0

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-01 11:51:16

这是密码。

代码语言:javascript
复制
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)

    }
票数 -1
EN

Stack Overflow用户

发布于 2017-04-01 13:39:35

就像这样..。

代码语言:javascript
复制
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中删除它。此外,你可能想把半径限制在最大值上。

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

https://stackoverflow.com/questions/43156198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档