Я пытаюсь создать круг, используя CGPoint и CGFloat. Но я хочу, чтобы круг отличался в зависимости от того, какое устройство используется. Я изменил все классы размера, чтобы отразить размеры, которые я хочу, и я надеялся, что это признает, но это не так.Как получить круг CAShapeLayer() для изменения размера в зависимости от класса размера
WhiteBar является UIView в моем главном экране, что я создал с помощью SB и, чтобы проверить, что мой взгляд изменяется в размерном классе, я поставил цвет фона и увидел его набор, как я хочу это
моей печать линии мне показывает наименьшую ширину и высоту
@IBOutlet var WhiteBar: UIView!
var WhiteCircle = CAShapeLayer()
WhiteCircle.strokeColor = UIColor.whiteColor().CGColor
WhiteCircle.fillColor = UIColor.clearColor().CGColor
WhiteCircle.lineWidth = 15
WhiteCircle.strokeStart = 0
WhiteCircle.strokeEnd = 1
let WhiteCenterPoint = CGPoint (x: WhiteBar.bounds.width/2, y: WhiteBar.bounds.height/2)
let WhiteCircleRadius : CGFloat = (WhiteBar.bounds.height/2 - WhiteCircle.lineWidth/2)
println(WhiteBar.bounds.width) // outputs the smallest size of all my size classes
println(WhiteBar.bounds.height) // outputs the smallest size of all my size classes
var WhiteCirclePath = UIBezierPath(arcCenter: WhiteCenterPoint, radius: WhiteCircleRadius, startAngle: CGFloat(-0.5 * M_PI), endAngle: CGFloat(1.5 * M_PI), clockwise: true)
WhiteCircle.path = WhiteCirclePath.CGPath
WhiteBar.layoutIfNeeded()
WhiteBar.layer.addSublayer(WhiteCircle)
EDIT: кажется, размер устанавливается на основе ш: Любой час: Любой класс размера.
Заранее спасибо, Ace
Где находится этот код, который вы разместили? – bjtitus
В func TrackProgress(), который я вызываю в моем func viewDidLoad() –
Возможный дубликат [размер прокрутки с помощью Autolayout: кадр 600x480 в компактном/любом размере, больше, чем iphone5?] (Http://stackoverflow.com/questions/28703078/scrollview-size-with-autolayout-frame-is-600x480-in-compact-any-size-class-big) – bjtitus