Swift 字体最幸运的家伙在UILabel中没有垂直居中
我使用的字体是:Swift项目中最幸运的家伙()。 但是,在UILabels中,即使将baselineAlignment设置为中心,它也不会垂直对齐到中心。。。 你能查一下我的密码帮我吗。非常感谢 我在这里附加了一个屏幕截图来显示问题()Swift 字体最幸运的家伙在UILabel中没有垂直居中,swift,fonts,uilabel,Swift,Fonts,Uilabel,我使用的字体是:Swift项目中最幸运的家伙()。 但是,在UILabels中,即使将baselineAlignment设置为中心,它也不会垂直对齐到中心。。。 你能查一下我的密码帮我吗。非常感谢 我在这里附加了一个屏幕截图来显示问题() 由于您对正在发生的事情的解释相当模糊,我假设标签不是真正可见的,因为使用dynamicLabel.textAlignment=NSTextAlignment.Center实现时,文本应该对齐 我在一个示例项目中尝试了您的代码,我注意到只有两件事是关闭了标签的x
由于您对正在发生的事情的解释相当模糊,我假设标签不是真正可见的,因为使用
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)
嗨,朱莉娅,谢谢你的评论。对不起,这部分不清楚。在我的代码中,我实际上将标签添加到了视图中。我的问题是文本的中心不完全在标签的中心。。因为我是新手,所以不允许在这里上传图片。但是你可以看看我在这里得到的最后效果:谢谢你花时间不用担心!我发现这篇博文解释了如何解决自定义字体的中心问题://另外:有一个Stackoverflow线程已经讨论了您的相同问题:非常感谢,Julia!你发送的两个链接中描述的解决方案完美地解决了我的问题!干杯!:)有效的解决方案在公认答案的评论中:D非常感谢@Julia Grill
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)