title: How to center text in the middle of a circle?
body: <p>I have made a circle class, but I want to put text in the direct center of it. </p>
  
  <p>Font size should not matter, the text should always appear in the center.</p>
  
  <p>Up until now, I have simply tried arbitrary values until it is close enough to the center. There has to be an easier way.</p>
  
  <pre><code>import UIKit
  
  
  class CircleView: UIView {
  let circleLayer: CAShapeLayer  = CAShapeLayer()
  
  init(frame: CGRect, innerColor: CGColor = Colors.colorWithHexString("#858585").CGColor, rimColor: CGColor = UIColor.blueColor().CGColor) {
      super.init(frame: frame)
      self.backgroundColor = UIColor.clearColor()
      let circlePath = UIBezierPath(arcCenter: CGPoint(x: frame.size.width / 2.0, y: frame.size.height / 2.0), radius: (frame.size.width - 10)/2, startAngle: 0.0, endAngle: CGFloat(M_PI * 2.0), clockwise: true)
  
      // Setup the CAShapeLayer
      circleLayer.path = circlePath.CGPath
      circleLayer.fillColor = innerColor
      circleLayer.strokeColor = rimColor
      circleLayer.lineWidth = 5.0
  
      // Don't draw the circle at start
      circleLayer.strokeEnd = 1.0
      layer.addSublayer(circleLayer)
  }
  
  func animateCircle(duration: NSTimeInterval) {
      let animation = CABasicAnimation(keyPath: "strokeEnd")
  
      animation.duration = duration
  
      animation.fromValue = 0
      animation.toValue = 1
  
      // Do a linear animation 
      animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
  
      circleLayer.strokeEnd = 1.0
  
      // Do the actual animation
      circleLayer.addAnimation(animation, forKey: "animateCircle")
  }
  
  required init(coder aDecoder: NSCoder) {
      fatalError("init(coder:) has not been implemented")
  }
  }
  </code></pre>