2

ステッパーを使用してテキストビューのフォントサイズを制御していますが、ステッパーを2回押すまでアクションは発生しません。なぜこうなった?

次のコードは、「mystepper」IBAction用です。

- (IBAction) changeFontSize:(id)sender
{

    [myStepper setMinimumValue:14.0]
    self.myStepper.maximumValue =20.0;

    UIFont newSize = [myTextView fontWithSize:self.stepper.value];
    self.myTextView.font = newSize;

}

問題は、ステッパーの現在の値を最小値に設定する必要があることです。ただし、fontSizeを時間外に押す必要がないように、sizeの値を複数のシーンで通過できるようにする必要があります。どうすれば入手できますか?

4

2 に答える 2

2

ビューでDidLoad:

[myStepper setMinimumValue:14.0]
[myStepper setMaximumValue:20.0]

UIFont newSize = [myTextView fontWithSize:self.stepper.value]; // provide some default value to myStepper
self.myTextView.font = newSize;

//ステッパーに1つのメソッドを割り当てます-値変更イベント

- (IBAction)stepperValueChanged:(id)sender
{
    double stepperValue = ourStepper.value;

    [self.myTextView setFont:[self.myTextView.font fontWithSize:stepperValue]];
}

これはコア ロジックですが、要件を満たすために、小さな変更が必要になる場合があります。

これがあなたを助けることを願っています。

于 2013-03-12T10:59:22.473 に答える
0

複数の画面でサイズを設定したいとき。そのため、userDefaults を使用することも 1 つの方法です。

viewDidLoad メソッドでは、userDefaults を読み取り、同じデータが保存されていないかどうかを確認し、minValue と maxValue を保存する必要があります。

そしてあなたの方法で

- (IBAction)stepperValueChanged:(id)sender{
    double stepperValue = ourStepper.value;
   ...
}

新しい値を使用して、userDefaults 値を更新します。

そして userDefaults 値を取得し、アプリケーション全体でそのサイズを使用します。

于 2013-03-12T11:24:14.477 に答える