Я создаю простое приложение таймера и хочу изменить размер круга таймера до размера представления с закругленными углами.Путь таймера добавляется в класс просмотра фона.
На моем iPhone XS Max это выглядит так:
Нона симуляторе iPhone SE это выглядит так:
Как убедиться, что размеры кругов таймера изменяются правильно?
Этомой код для определения размеров окружностей:
private func addTimerCircle() {
let translateAmount = -(CGFloat.pi/2)
let circlePath = UIBezierPath(arcCenter: CGPoint.zero, radius: (self.frame.width - 64)/2, startAngle: translateAmount, endAngle: (2*CGFloat.pi)+translateAmount, clockwise: true)
addTrackLayer(withPath: circlePath)
}
private func addTrackLayer(withPath circlePath: UIBezierPath) {
let trackLayer = CAShapeLayer()
trackLayer.path = circlePath.cgPath
trackLayer.strokeColor = UIColor.red.withAlphaComponent(0.5).cgColor
trackLayer.lineWidth = 10
trackLayer.position = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2)
trackLayer.fillColor = UIColor.clear.cgColor
layer.addSublayer(trackLayer)
}
Почему circlePath
не изменяет размер на основе frame.width
на экранах разных размеров?
Спасибо за любую помощь!