title: UIButton sizeToFit not working
body: <p>This is my code :  </p>
  
  <pre><code>let button_video = UIButton(type: .custom)
  button_video.frame = CGRect.zero
  if subsession.VideoUrl != nil
  {   
      button_video.frame = CGRect(x: 10, y: yAxis + 15, width: 300, height: 30)
      button_video.contentEdgeInsets = UIEdgeInsets(top: 3, left: 28, bottom: 7, right: 5)
      if iVideoNumber == 0
      {
          button_video.setTitle(String(format: "Video #%i", 1), for: .normal)
      }
      else
      {
          button_video.setTitle(String(format: "Video #%i", iVideoNumber+1), for: .normal)
          }
          button_video.titleLabel?.font = UIFont(name: "OpenSans-Regular", size: 15)
          button_video.titleLabel?.textColor = UIColor.white
          button_video.setTitleColor(UIColor.white, for: .normal)
          button_video.titleLabel?.numberOfLines = 0
          button_video.titleLabel?.lineBreakMode = .byWordWrapping
          button_video.titleLabel?.textAlignment = .center
          button_video.tag = iCount
          button_video.addTarget(self, action: #selector(CourseDetailViewController.loadVideo(sender:)), for: .touchUpInside)
          let btnGradient = CAGradientLayer()
          btnGradient.frame = button_video.bounds
          btnGradient.cornerRadius = 6
          btnGradient.colors = [(UIColor(red: 174.0 / 255.0, green: 127.0 / 255.0, blue: 183.0 / 255.0, alpha: 1.0).cgColor as CGColor), (UIColor(red: 78.0 / 255.0, green: 57.0 / 255.0, blue: 96.0 / 255.0, alpha: 1.0).cgColor as CGColor)]
          button_video.layer.insertSublayer(btnGradient, at: 0)
          button_video.sizeToFit()
          view_scrollView.addSubview(button_video) 
      } 
  }
  </code></pre>
  
  <p>The button however occupies the whole width of 300</p>