微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – sizeToFit削减了一些UILabel字体类型的高度和宽度但不是其他 – 是否有修复?

我正在使用自定义字体,我有一点障碍.

有些字体可以正常使用sizetoFit,如下所示:

但是,其他自定义字体在左侧和底部被截断,因为这是:

我可以“破解”它,只检查每种字体类型并添加几个像素,但我想知道是否有更清晰的解决方案,甚至解释为什么会发生这种情况.

谢谢!

这是我的自定义UILabel字体设置代码

func setNewFont(fontName:String,size:CGFloat)
    {
        self.font = UIFont(name: fontName,size: size)
        sizetoFit()
    }

解决方法

这篇文章解释了如何解决垂直问题:

http://www.andyyardley.com/2012/04/24/custom-ios-fonts-and-how-to-fix-the-vertical-position-problem/

然而,字体的左侧仍然被切断.

所以除了上面的修复,我还覆盖了绘制调用并偏移了x值
(调整xml文件中的minLeftbearing没有修复任何东西,显然xcode忽略它).

override func drawTextInRect(rect: CGRect)
    {
        if(font.fontName == "JennaSue")//JennaSue
        {
            var newBounds:CGRect = CGRectMake(rect.origin.x+2,rect.origin.y,rect.width,rect.height)
            super.drawTextInRect(newBounds)
        }else
        {
            super.drawTextInRect(rect)
        }
    }

原文地址:https://www.jb51.cc/iOS/332044.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐