小编Sid*_*ney的帖子

什么是完整的子视图,正确布局?

我正在尝试以编程方式绘制圆形进度视图并将其置于子视图中circleView,我已在界面构建器中设置/约束.不过,我不知道什么时候circleView的最终规模和中心将是可访问的(我使用自动布局),我最终需要画圆.这是涉及的代码:

@IBOutlet weak var circleView: UIView!

let circleShapeLayer = CAShapeLayer()
let trackLayer = CAShapeLayer()

override func viewDidLoad() {
    super.viewDidLoad()
    // createCircle()
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    print(circleView.frame.size.width)
    createCircle()
}

func createCircle() {

    // Draw/modify circle

    let center = circleView.center

    // Where I need to use circleView's width/center
    let circularPath = UIBezierPath(arcCenter: center, radius: circleView.frame.size.width, startAngle: -CGFloat.pi/2, endAngle: 2 * CGFloat.pi, clockwise: true)

    trackLayer.path = circularPath.cgPath
    trackLayer.strokeColor = UIColor.lightGray.cgColor
    trackLayer.lineWidth = 10
    trackLayer.fillColor = UIColor.clear.cgColor

    circleView.layer.addSublayer(trackLayer) …
Run Code Online (Sandbox Code Playgroud)

uikit uiview ios swift

1
推荐指数
1
解决办法
518
查看次数

标签 统计

ios ×1

swift ×1

uikit ×1

uiview ×1