2016-10-14 15 views
5

ストーリーボードでグローバルティントを設定する方法と同じように、グローバルフォントファミリーを別のものとして設定できますか? たとえば、グローバル/デフォルトフォントをシステムからSource Sans Pro 16ptに変更したいとします。ストーリーボードの各ラベル、ボタン、テキストフィールドなどのXCode - ストーリーボードでデフォルトのグローバルフォントを変更

  1. フォントの変更:しかし、私はは、次のいずれかである(私の知る限り)を行うために何を持っています。
  2. スウィフトのviewDidLoadコード(this questionのような)を介してまたは拡張子を使用して設定をthis question

で説明したように(2)との私の問題は、私はストーリーボードを使用して(1)のようにビジュアルフィードバックを得ることはありませんということです。一方、私は手動で設定しなければならないので、それほど雄弁ではありません。

だから、デフォルトのストーリーボードフォントを変更/設定する方法はありますか?

+0

申し訳ありませんが、手動ですべてのラベルのフォントを設定する必要があり、BU tongなど。1つのglobalConstants.hファイルで、let のようにICON_FONT = UIFont(name: "OpenSans-Bold"のサイズ:30)というようなフォントの変数を宣言し、各ラベルに手動でフォントを渡します。フォントを変更すると、globalConstantファイルの変更が1つだけになります。 –

答えて

2

あなたはこのquestion

ルックは、外観とUIButtonのフォントを設定する方法として、すべてのコントロールが(実行時に)同じフォントを持っていることを確実にするために、外観のAPIを使用することができます。

UILabelとUITextViewについては、次の操作を行います。しかし、これはストーリーボードを更新しません、

let labelAppearance = UILabel.appearance() 
labelAppearance.font = UIFont.myFont() 

let textFieldAppearance = UITextView.appearance() 
textFieldAppearance.font = UIFont.myFont() 

以前のソリューションAppDelegate application(_:didFinishLaunchingWithOptions:)で行うことができます。視覚的にストーリーボード上の変更を確認するには

、あなたは

prepareForInterfaceBuilder() 

Here関数に見ることができ、それは視覚的にストーリーボードで更新取得する方法について説明し答えですが、このためには、カスタムクラスを使用する必要がありますなど、あなたのテキストフィールド、ボタン、用

コード例リンク上記のとおり:

@IBDesignable 
public class MyUILabel: UILabel { 

    public override func awakeFromNib() { 
     super.awakeFromNib() 
     configureLabel() 
    } 

    public override func prepareForInterfaceBuilder() { 
     super.prepareForInterfaceBuilder() 
     configureLabel() 
    } 

    func configureLabel() { 
     font = UIFont(name: Constants.DefaultFont, size: 40) 
    } 

} 
+1

しかし、カスタム 'MyUILabel'の場合は、すべてのUILabelsのクラスを変更する必要があります。すべてのラベルのフォントを変更するのと同じように繰り返しませんか? – tika

+1

これは、OPの番号の詳細な説明にすぎませんか? 2? IBの部分を除いて、ティカのようにはあまり価値がないと言われました。 – HAS

+0

@tikaそれは繰り返しますが(私の意見では、フォント+サイズよりもクラスを変更するほうが速いのですが)、あなたが勝つのは、アプリ全体のフォントを変更したいときです。それは1つの場所で。 –

関連する問題