【问题标题】:How to get .adjustsFontSizeToFitWidth to function properly如何让 .adjustsFontSizeToFitWidth 正常工作
【发布时间】:2015-03-11 20:06:47
【问题描述】:

通过这个简单的代码,我假设让"Hello World!" 自动收缩可以与bannerLabel.adjustsFontSizeToFitWidth 一起工作,但文本的末尾会被... 剪裁你如何让它正常工作?

import UIKit

class ViewController: UIViewController, UIGestureRecognizerDelegate {

    @IBOutlet weak var bannerLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        bannerLabel.adjustsFontSizeToFitWidth = true
        bannerLabel.numberOfLines = 1
        bannerLabel.text = "Hello World!"
        bannerLabel.font = UIFont(name: bannerLabel.font.fontName, size: 150)!

    }

【问题讨论】:

  • 一方面,您忘记提供minimumScaleFactor。这决定了我们可以缩小多远。从小开始!从您的 150 大小开始,我们不能缩小太多,这就是为什么我们没有缩小到足以容纳整个文本的原因!
  • @matt 感谢您的建议。设置 bannerLabel.minimumScaleFactor = 0.0 有效。然而,在 Xcode 版本 6.2 (6C131e) 中,adjustsFontSizeToFitWidth 似乎也已被弃用。 var adjustsFontSizeToFitWidth: Bool // default is NO // deprecated - hand tune by using NSKernAttributeName to affect tracking // NOTE: deprecated - use minimumScaleFactor. default is 0.0

标签: swift xcode6 uilabel


【解决方案1】:
titleLabel?.numberOfLines = 1 
titleLabel?.adjustsFontSizeToFitWidth = true
titleLabel?.minimumScaleFactor = 0.1

【讨论】:

  • 甚至适用于UIButtons 中的属性字符串和标签
猜你喜欢
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
  • 2015-05-08
  • 2020-08-27
  • 2018-06-11
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多