Как мне разместить CALayer в центре UIView в Swift? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть этот CALayer, это точка, которую я хочу быть точно в центре UIView. У меня есть UIView, который покрывает 2/3 экрана. Как мне получить точку в середине UIView. В приведенном ниже коде точка помещается на дюйм выше, где мне нужно. Вот мой код:

func setupUI() {

    let lineShape1 = CAShapeLayer()

    let linePath1 = UIBezierPath.init(ovalIn: CGRect.init(x: 0, y: 0, width: 5, height: 5))
    lineShape1.path = linePath1.cgPath
    lineShape1.fillColor = UIColor.init(white: 0.7, alpha: 0.5).cgColor
    lineShape1.position = CGPoint(x: cameraView.frame.size.width / 2, y: cameraView.frame.size.height / 2)
    self.view.layer.addSublayer(lineShape1)

}

1 Ответ

0 голосов
/ 20 июня 2020

Вы путаете рамку и границы. Установите это так

func setupUI() {

    let lineShape1 = CAShapeLayer()

    let linePath1 = UIBezierPath.init(ovalIn: CGRect.init(x: 0, y: 0, width: 5, height: 5))
    lineShape1.path = linePath1.cgPath
    lineShape1.fillColor = UIColor.init(white: 0.7, alpha: 0.5).cgColor
    lineShape1.position = CGPoint(x: view.bounds.midX, y: view.bounds.midY)
    
   view.layer.addSublayer(lineShape1)

}
...