【问题标题】:Font Luckiest-Guy not vertically Centered in UILabel字体 Luckiest-Guy 未在 UILabel 中垂直居中
【发布时间】:2015-08-26 10:41:04
【问题描述】:

我正在使用一种名为:Swift 项目中最幸运的人 (Link to the font) 的字体。 但是,在 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!"

【问题讨论】:

  • 工作解决方案在已接受答案的评论中:D 非常感谢@Julia Grill

标签: swift fonts uilabel


【解决方案1】:

由于您对正在发生的事情的解释相当模糊,我认为标签并不是真正可见的,因为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)

【讨论】:

  • 嗨,朱莉娅,感谢您的 cmets。对不清楚的部分表示抱歉。在我的代码中,我实际上将标签添加到了视图中。我的问题是文字的中心不完全在我的标签中心。由于我是新手,我不允许在这里上传图片。不过你可以查看我这里得到的最终效果:dropbox.com/s/1hxq68dewtzzkxi/IMG_9733.png?dl=0感谢您抽出宝贵时间
  • 别担心!我发现这篇博客文章解释了如何解决自定义字体的居中问题:Post // 还有:有一个 Stackoverflow 线程已经讨论过你的相同问题:Thread
  • 非常感谢,朱莉娅!您发送的两个链接中描述的解决方案完美地解决了我的问题!干杯! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 1970-01-01
  • 2015-08-25
  • 2013-12-15
  • 2013-08-01
  • 1970-01-01
相关资源
最近更新 更多