1

我正在开发一个应用程序,它支持在设计时自定义字体、颜色等。你只需交换一个 plist,应用程序就有不同的样式、颜色等。这很有效,我需要这样。到目前为止,一切都很好。有些按钮有标题。我为两个不同的版本使用两种不同的自定义字体。

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

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

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

4

1 回答 1

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
}
于 2012-10-22T11:00:40.130 回答