UIButton的titleLabel有一个字体偏移5点

时间:2012-10-22 10:38:10

标签: objective-c ios fonts uibutton

我正在开发一款应用程序,它支持在设计时自定义字体,颜色等。 你只需交换一个plist,应用程序有不同的风格,颜色,等等。 这是有效的,我需要这样做。到现在为止还挺好。 有些按钮有标题。我为两个不同的版本使用了两种不同的自定义字体。

问题是,使用其他字体会导致所有按钮中的titleLabels偏移5点到TOP。 我不能使用一些“hacky”方式来移动偏移5 px。因为它会使第一个字体偏移5 px。

我不确定问题是在我的代码中,还是在源字体文件中。

标签以水平方向和垂直方向居中。有没有其他方法来概括代码,以便它可以处理该偏移差异?

1 个答案:

答案 0 :(得分:1)

比较如下:

CGSize firstStringSize = [myString sizeWithFont:firstFont]; //get size for first string with its font
CGSize secondStringSize = [myString sizeWithFont:secondFont]; //get size for second string with its font
if(!CGSizeEqualToSize(firstStringSize, secondStringSize)) //checking for both are not equal
{
   if(firstStringSize.height > secondStringSize.height)
      //secondStringSize offset 5 px
   if(secondStringSize.height > firstStringSize.height)
      //firstStringSize offset 5 px
}