1

デザイン時にフォントや色などのカスタマイズをサポートするアプリを開発しています。plistを交換するだけで、アプリのスタイル、色などが異なります。これは機能します。そのようにする必要があります。ここまでは順調ですね。一部のボタンにはタイトルが付いています。2 つの異なるビルドに 2 つの異なるカスタム フォントを使用します。

問題は、他のフォントを使用すると、すべてのボタンの titleLabels が TOP から 5 ポイントずれることです。オフセットを 5 ピクセル上に移動する「ハッキーな」方法を使用することはできません。最初のフォントが 5 ピクセル上にオフセットされるようになるためです。

問題がコードにあるのか、ソース フォント ファイルにあるのか、よくわかりません。

ラベルは水平方向と垂直方向の中央に配置されます。そのオフセットの違いを処理するようにコードを一般化する他の方法はありますか?

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 に答える