【发布时间】: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