字体 Luckiest-Guy 未在 UILabel 中垂直居中

Font Luckiest-Guy not vertically Centered in UILabel

我在 Swift 项目 (Link to the font) 中使用名为:Luckiest Guy 的字体。 但是,在 UILabels 中,即使将 baselineAlignment 设置为中心,它也不会垂直对齐到中心...... 你能检查我的代码并帮助我吗?非常感谢!!

我在此处附上屏幕截图以显示问题 (https://www.dropbox.com/s/1hxq68dewtzzkxi/IMG_9733.png?dl=0)

    var dynamicLabel: UILabel = UILabel()

    dynamicLabel.frame = CGRectMake(0, 0, 60, 35) //Frame (the coordinates are changed here to simply the code)

    // *** Color and offset *** //
    dynamicLabel.backgroundColor = UIColor.blueColor()
    dynamicLabel.textColor = UIColor.whiteColor()
    dynamicLabel.shadowColor = UIColor.blackColor()
    dynamicLabel.shadowOffset = CGSizeMake(0, 1.0)

    // *** Text alignment *** //
    dynamicLabel.textAlignment = NSTextAlignment.Center
    dynamicLabel.font = UIFont(name: "LuckiestGuy-Regular", size: 25)
    dynamicLabel.adjustsFontSizeToFitWidth = true
    dynamicLabel.minimumScaleFactor = 0.5
    dynamicLabel.baselineAdjustment = UIBaselineAdjustment.AlignCenters

    // *** Label corner and border *** //
    dynamicLabel.layer.masksToBounds = true
    dynamicLabel.layer.cornerRadius = 15.0
    dynamicLabel.layer.borderColor = UIColor.whiteColor().CGColor
    dynamicLabel.layer.borderWidth = 1.0


    // Text
    dynamicLabel.text = "Excellent!"

由于您对正在发生的事情的解释相当含糊,我认为标签并不是真正可见的,因为随着 dynamicLabel.textAlignment = NSTextAlignment.Center 的实施,文本应该对齐

我已经在一个示例项目中尝试了您的代码,我注意到只有两件事是关闭的是标签的 x 和 y 坐标(因为它们被设置为零,所以标签实际上并没有无论如何都会显示)并且您没有将标签添加到视图中:

    let dynamicLabel = UILabel(frame: CGRectMake(100, 200, 200, 100))

    // *** Color and offset *** //
    dynamicLabel.backgroundColor = UIColor.blueColor()
    dynamicLabel.textColor = UIColor.whiteColor()
    dynamicLabel.shadowColor = UIColor.blackColor()
    dynamicLabel.shadowOffset = CGSizeMake(0, 1.0)

    dynamicLabel.text = "Excellent!"

    // *** Text alignment *** //
    dynamicLabel.textAlignment = NSTextAlignment.Center
    dynamicLabel.adjustsFontSizeToFitWidth = true
    dynamicLabel.minimumScaleFactor = 0.5
    dynamicLabel.baselineAdjustment = UIBaselineAdjustment.AlignCenters

    // *** Label corner and border *** //
    dynamicLabel.layer.masksToBounds = true
    dynamicLabel.layer.cornerRadius = 15.0
    dynamicLabel.layer.borderColor = UIColor.whiteColor().CGColor
    dynamicLabel.layer.borderWidth = 1.0

    view.addSubview(dynamicLabel)