UILabelのフォントサイズを2倍にするとき、必要なboundsも2倍になるのか

ただのメモです。

結論から言うとぴったし2倍にはならないがだいたい二倍になる。

        let label = UILabel()
        label.textColor = .white
        label.backgroundColor = .red
        label.text = "test test test"
        label.center = view.center
        label.font = .boldSystemFont(ofSize: 20)
        view.addSubview(label)
        
        
        print(label.bounds) //(0.0, 0.0, 0.0, 0.0)
        label.sizeToFit()
        print(label.bounds) //(0.0, 0.0, 115.0, 24.0)
        
        //フォントサイズを二倍にする。
        label.font = .boldSystemFont(ofSize: 40)
        label.sizeToFit()
        print(label.bounds) //(0.0, 0.0, 225.333333333333, 48.0)
        let requiredSize: ((CGFloat) -> CGRect) = { (size) in
            
            let text = "test test test"
            let font: UIFont = .boldSystemFont(ofSize: size)
            let attributedText = NSAttributedString(string: text,
                                                    attributes: [.font: font])
            
            let greatest = CGSize(width: CGFloat.greatestFiniteMagnitude,
                                  height: CGFloat.greatestFiniteMagnitude)
            return attributedText.boundingRect(with: greatest,
                                                   options: .usesLineFragmentOrigin,
                                                   context: nil)
        }
        
        print(requiredSize(20)) //(0.0, 0.0, 114.990234375, 23.8671875)
        print(requiredSize(40)) //(0.0, 0.0, 225.05859375, 47.734375)