-1

ステッパーをクリックすると、アプリのフォントのサイズが変更されますUITextView。問題は、エラーが発生することです。

- (IBAction)myStepper:(id)sender {
    [myStepper setMinimumValue:14.0]
    self.myStepper.maximumValue =20.0;
    UIFont newSize = [myTextView fontWithSize:self.stepper.value];
    self.myTextView.font = newSize;
}

これはすべて私のコードですが、何か不足していますか?

4

3 に答える 3

1

self最初の行に a とセミコロンがありません:

[self.myStepper setMinimumValue:14.0];

そして、selfこの行のアスタリスクと andは次のstepperようになりますmyStepper

UIFont *newSize = [self.myTextView fontWithSize:self.myStepper.value];
于 2014-08-04T14:03:48.823 に答える
0

コードを読みやすくするために、アクション メソッドに UISteppert プロパティと同じ名前を付けないでください。例に変更し-(IBAction)stepperValueChanged:(id)sender ます。

このメソッドで最小値と最大値を設定する必要はありませんが、初期化メソッドで

- (void) viewDidLoad
{
    [super viewDidLoad];
     // Various implementation

    self.myStepper.minimumValue = 14;
    self.myStepper.maximumValue = 20.0;
}

- (IBAction) stepperValueChanged:(id)sender 
{
     self.myTextView.font = [UIFont fontWithSize:self.myStepper.value];
}

メソッドとプロパティの違いを理解するのに問題があるようです。開発を始めている場合は、ドキュメントとチュートリアルを読む必要があります (そして、開発の世界へようこそ ;))。

編集 :

プロパティ myStepper がクラスに存在しません。インターフェイス ビルダーを使用する場合は、ステッパーを UIStepper プロパティにリンクする必要があります。 html . それ以外の場合、Interface Builder を使用しない場合は、クラスに UIStepper プロパティを追加して、自分で割り当てる必要があります。

于 2014-08-04T14:13:04.177 に答える
0

私はあなたのメソッドを次のように少しきれいにします:

- (IBAction)myStepperValueChanged:(UIStepper *)sender {
    [sender setMinimumValue:14.0];
    [sender setMaximumValue:20.0];
    UIFont * newSize = [UIFont fontWithName:myTextView.font.fontName size:sender.value];
    [self.myTextView setFont:newSize];
}

-viewDidLoadただし、アウトレットの名前を使用して実行時に静的な値である場合は、最初の 2 行を標準の init プロシージャの一部としてメソッドに入れmyStepperます (クラスにあると仮定します)。

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

または、 Interface Builderでこれらの値を設定すると、ステッパーのアウトレットをまったく処理する必要がなくなります。


注: どの解決策があなたにより適しているかを判断するのは困難です。特定の解決策を推奨するのに役立つ情報を共有していません。

于 2014-08-04T14:36:08.270 に答える