画面全体に多くの UILabels を持つ iPhone アプリがあります。ストーリーボードを使用しています。私の質問はこれです。設定画面のボタンまたはスライダーを使用して、アプリ内のすべてのラベルのフォント サイズを変更するにはどうすればよいですか? また、テキストが画面に対して大きくなりすぎるため、最大サイズがあることも望んでいます。
ありがとう!
画面全体に多くの UILabels を持つ iPhone アプリがあります。ストーリーボードを使用しています。私の質問はこれです。設定画面のボタンまたはスライダーを使用して、アプリ内のすべてのラベルのフォント サイズを変更するにはどうすればよいですか? また、テキストが画面に対して大きくなりすぎるため、最大サイズがあることも望んでいます。
ありがとう!
これを試して:
-(IBAction)sliderValueChanged:(UISlider *)sender
{
CGFloat maxFontSize = 24.0;
CGFloat minFontSize = 8.0;
CGFloat sliderValue = sender.value;
if ((sliderValue < maxFontSize) && (sliderValue > minFontSize)) {
label1.font = [UIFont boldSystemFontOfSize:sliderValue];
label2.font = [UIFont boldSystemFontOfSize:sliderValue];
label3.font = [UIFont boldSystemFontOfSize:sliderValue];
}
}
このコードはテストしていませんが、うまくいくと思います..お役に立てば幸いです。
良い。これを行う素晴らしい方法はありません。手っ取り早い近道を探しているなら、あなたは運が悪いです。各 viewControllers メソッドで実行できるメソッドを作成する必要がありますがviewDidLoad:
、最初にこれを行います。
まず、アプリのどこかにスライダーがあります。スライダーの範囲が 1 ~ 5 であるとします。1 より後のすべての値について、後で参照できる場所に int を保存します。どのファイルでも構いません。NSコーディングを参照してください。基本的に、この場合は 5 という数を取り、1 を引いてそれを保存します。したがって、ユーザーが 5 を選択した場合、4 を節約できます。
さて、各コントローラー viewDidLoad には、次のことを行う同様のメソッドがあります。
保存した int 値を取得します。次に、基本テキスト サイズを取得し、保存した数値を追加します。後で CGFloat として必要になります。私はそれを使用する方法について肯定的ではありませんが、あなたはそれを見つけることができます.
次に使用します。
[label1 setFont:[UIFont fontWithName:@"Name Of font" size:<#(CGFloat)#>]]
すべての UILabels でそれを使用する必要があります。
他に何か必要な場合はお知らせください。