2017-11-09 14 views
1

私は、iOS 11で大きなタイトルのフォントを変更する方法を知っていますが、大きなタイトルのデフォルトのフォントとフォントサイズを見つけるのは難しいです。私は、アプリケーションの別の場所でフォントを再現したいと思います。私は以下を試しましたが、フォントやフォントサイズの結果は得られません。他にどこでこれを探しているべきかわからない。UINavigationBarのデフォルトのフォントiOS 11の大きなタイトルですか?

NSLog(@"self.navigationController.navigationBar.largeTitleTextAttributes:%@",self.navigationController.navigationBar.largeTitleTextAttributes); 

NSDictionary *dict = self.navigationController.navigationBar.largeTitleTextAttributes; 
UIFont *font = [dict objectForKey:@"NSFontAttributeName"]; 
NSLog(@"font is.. %@, %@, %@",font,font.fontName,font.fontDescriptor); 

答えて

4

大型タイトルのフォントを取得するための適切な解決策は以下のとおりです。ユーザーが設定アプリでさまざまなアクセシビリティとフォントサイズの変更を適用しました。

上記(遊び場)デフォルトで次を印刷します:

< UICTFont:0x7fa865c05390 >フォントファミリ: ".SFUIDisplay"。 font-weight:normal;フォントスタイル:通常;フォントサイズ:あなたのアプリはiOSの10またはそれ以前のバージョンをサポートしている場合は、上記のコードで.largeTitleの使用が唯一のiOS 11で呼び出さなければならないことに注意

34.00pt、あなたは@availableの適切な使用でそのコードをラップする必要があります。

+0

素晴らしいです。どうもありがとうございます。 – SAHM

-1

システムフォントはUIFontsystemFontの助けを借りて使用することができます。例:

スウィフト:

UIFont.systemFont(ofSize: 12.00) 
UIFont.boldSystemFont(ofSize: 12.0) 

のObjective-C:

[UIFont systemFontOfSize: 12.0]; 
[UIFont boldSystemFontOfSize: 12.0]; 

ノーマルとシステムフォントのボールドスタイルの両方にアクセスします。 現在のシステムフォントは、アップル社がサンフランシスコとしたフォント(https://developer.apple.com/fonts/)です。

ガイドはここにあります:https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/ここではUIFontクラス:https://developer.apple.com/documentation/uikit/uifont?language=objcです。

編集: 私はユーザーインターフェイスインスペクタを開いて、それが言うん:

enter image description here

ここで私が実際に異なるフォントやサイズを試みることによって答えを見つけました:)

+0

これはどのように質問に答えますか?質問は、iOS 11の大きなナビゲーションタイトルのデフォルトフォントとフォントサイズを調べることです。この回答は、システム(大胆なシステム)フォントを12ポイントで取得する方法を示しています。全く同じことではありません。 – rmaddy

+0

彼の願いは、「アプリのどこか別の場所でフォントを再現する」ことでした。 @rmaddy私は答えを変更しました。 – palme

0

をコーディングする必要はありませ。さて、免責事項は、アクセシビリティ/動的フォントサイズによって変わる可能性があります。しかし、私が見つけたフォントとサイズは

[UIFont systemFontOfSize:32 weight:UIFontWeightBold] 

が、私はまだプログラムでこれを取得する方法を見つけるしたいのですが、誰かがそれを行う方法を知っているかもしれません期待して答えを受け入れるために待機しますました。その間に、これが誰かに役立つことを願っています。

のObjective-C:

UIFont *font = [UIFont preferredFontForTextStyle: UIFontTextStyleLargeTitle]; 
NSLog("%@", font); 

スウィフト:

let font = UIFont.preferredFont(forTextStyle: .largeTitle) 
print(font) 

これは、たとえ正しい値が得られます

+0

私の答えを見てください。それは実際には[UIFont systemFontOfSize:36.0 weight:UIFontWeightBold] – palme

+0

あなたはどのアプリを使用しているのかわかりませんが、開発中の自分のアプリが使用しているサイズが見つかりました。あるタブでnavigationBarのlargeTitleTextAttributesを設定し、そのタブのタイトルをデフォルトの属性を使用している別のタブのタイトルに設定し、タイトルが完全に並ぶまで属性で再生することで、完全に一致させました。 – SAHM

+0

あなたは正しいです。私は間違ったラベルを強調した。サイズは34です。 – palme

関連する問題