2012-10-22 27 views
1

我正在開發一個應用程序,它支持在設計時自定義字體,顏色等。 你只是交換一個plist和應用程序有不同的風格,顏色,s等。 這工作,我需要這樣。到現在爲止還挺好。 某些按鈕有標題。我爲兩種不同的版本使用兩種不同的自定義字體。UIButton的titleLabel有5個點偏移字體之一

問題是,使用其他字體會導致所有按鈕中的titleLabels被偏移5指向TOP。 我不能使用一些「哈克」的方式將偏移5 px向上移動。因爲它會讓第一個字體偏移5px。

我不確定是否問題出在我的代碼或源字體文件中。

該標籤是中心horizo​​ntaly和verticaly。有沒有其他的方式來概括代碼,以便它能夠處理這種偏移差異?

回答

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 
} 
+0

有很多技巧,我可以用它來找到我使用的字體,問題是代碼是不是通用的了。 我需要找到解決方案,這將擴展,並將是普遍的。 所以我想用sizeToFit去,但是這根本沒有效果。 –

+0

好吧,我通過修復字體來解決問題。 –