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

某些字体可以通过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/

但是,字体的左侧仍被切断。

因此,除了上述修复之外,我还覆盖了draw调用并抵消了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)
        }
    }

关于ios - sizeToFit删除某些UILabel字体类型的高度和宽度,但不截断其他字体-是否已解决?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26494676/

10-11 15:40
查看更多