[解決済み] UIButtonのカスタムフォントの垂直配置
質問
私は
UIButton
で、カスタムフォントを使用しており、ビューのロード時に設定されます。
- (void)viewDidLoad
{
[super viewDidLoad];
self.searchButton.titleLabel.font = [UIFont fontWithName: @"FONTNAME" size: 15.0 ];
}
問題は、フォントが中央の線から浮き上がって見えることです。この行をコメントアウトすると、デフォルトのフォントは縦方向にうまく中央揃えで表示されます。しかし、カスタム フォントに変更すると、垂直方向の配置が崩れます。
カスタムフォントを使用したテーブルセルでも同じ問題が発生しています。
カスタムフォントが他のフォントほど高くないことを、どこかでビューに伝える必要があるのでしょうか?
EDIT: 私が使用しているフォントが Windows TrueType フォントであることに今気づきました。Mac の TextEdit では問題なく使用できますが、私のアプリケーションでは配置に問題があるだけです。
どのように解決するのですか?
同じような問題は、次のサイトで議論されました。 UILabel でカスタム インストールされたフォントが正しく表示されない . 解決策は示されていません。
UILabel、UIButton などで同じ問題があった私のカスタム フォントに対して機能した解決策は次のとおりです。フォントの問題は、その ascender プロパティがシステム フォントの値に比べて小さすぎるという事実であることが判明しました。アセンダとは、フォントの文字の上にある縦の空白のことです。フォントを修正するためには、次のものをダウンロードする必要があります。 アップルフォントツールスイート コマンドラインユーティリティをダウンロードする必要があります。そして、あなたのフォントを手に取り、次のことを行ってください。
~$ ftxdumperfuser -t hhea -A d Bold.ttf
これは
Bold.hhea.xml
. これをテキストエディタで開いて
ascender
属性の値を大きくしてください。あなたにとって最適な値を見つけるには、少し実験する必要があります。私の場合、750から1200に変更しました。次に、次のコマンド ラインでユーティリティを再度実行し、変更を ttf ファイルにマージします。
~$ ftxdumperfuser -t hhea -A f Bold.ttf
そして、出来上がったttfフォントをアプリで使用するだけです。
OS X El Capitan
Apple Font Tool Suite インストーラは、以下の理由により OSX El Capitan 上で動作しなくなりました。
SIP
により、保護されたディレクトリにバイナリ ファイルをインストールしようとするためです。
手動で
ftxdumperfuser
. まず、dmg からローカルディレクトリに pkg をコピーし、その後で
OS X Font Tools.pkg
と共に
~$ xar -xf OS\ X\ Font\ Tools.pkg
ここで、フォルダの
fontTools.pkg
で
~$ cd fontTools.pkg/
でペイロードを取り出す。
~$ cat Payload | gunzip -dc | cpio -i
ここで
ftxdumperfuser
のバイナリは現在のフォルダにあります。に移動させることができます。
/usr/local/bin/
とすることで、ターミナルアプリケーションの中のすべてのフォルダで使用できるようになります。
~$ mv ftxdumperfuser /usr/local/bin/
関連
-
JenkinsがIOSを自動パッケージングしてモミを配布
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] CSS Font Border?
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] NSNotificationCenterのaddObserver in Swift
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。
-
[解決済み】iPhoneアプリケーションにカスタムフォントを埋め込むことはできますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
制御が非ボイド関数の終了に達する
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] NSの接頭辞はどういう意味ですか?
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] UITextFieldの最大文字数を設定します。
-
[解決済み] SwiftでURLから画像を読み込む/ダウンロードする
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] iPhoneでナビゲーションバーを1ページ目だけ非表示にする