1

私と私の相棒はアプリに取り組んでいます。私たちはまったくの初心者ですが、本とゴーグルで長い道のりを歩んできました。

私たちは今、このことに行き詰まっています。このアクションでクリア ボタンがリンクされたテックスフィールドがたくさんありますが、アラート ビュー ボタンの 1 つで [はい] をクリックすると、そのアクションが呼び出されるようにします。

- (IBAction)clearText:(id)sender {

Spelare1Slag1.text = @"";
Spelare1Slag2.text = @"";

}

このアラート ビューもあります。

        alertDialog = [[UIAlertView alloc]
    initWithTitle: @"Warning"
    message: @"Do you want to delete?"
    delegate: self
    cancelButtonTitle: @"No"
    otherButtonTitles: @"Yes", nil];

- (void)alertView: (UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex {
    NSString *buttonTitle=[alertView buttonTitleAtIndex:buttonIndex];
    if ([buttonTitle isEqualToString:@"No"]) {
    }

    else if ([buttonTitle isEqualToString:@"Yes"]){
        Spelare1Slag1.text = @"";
    }

}

このようにすればよいと思いますが、else if ステートメントに何を入れればよいかわかりません。「いいえ」を押したときではなく、アラート ビューで「はい」ボタンを押したときにテキスト フィールドがクリアされるようにします。

前もって感謝します!

4

4 に答える 4

2

AlertViewユーザーがクリックしたNO場合は、質問を正しく理解している場合は却下できます。

このようにアラートビューを閉じることができます

[alertView dismissWithClickedButtonIndex:0 animated:YES];

NOただし、インデックスが0か1かを確認してください。不明な場合は、次のようにしてください

[alertView dismissWithClickedButtonIndex:nil animated:YES];
于 2013-02-13T22:59:54.720 に答える
2

clearText メソッドは、両方のフィールドのテキストを削除するために作成したカスタム メソッドであると思います。したがって、IBAction ではなく、void メソッドにする必要があります。

- (void)clearText {
Spelare1Slag1.text = @"";
Spelare1Slag2.text = @"";
}

UIAlertView デリゲート メソッドで行う必要があるのは、clearText メソッドを呼び出すことだけです。

- (void)alertView: (UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *buttonTitle=[alertView buttonTitleAtIndex:buttonIndex];
  if ([buttonTitle isEqualToString:@"Yes"]){
      [self clearText];
  }
}

お役に立てれば

于 2013-02-13T23:07:12.407 に答える
1

タイプのメソッドはIBAction他のメソッドとまったく同じであり、コードで直接呼び出すことができます。実際、IBActionは単に。を評価するマクロvoidです。通常、nilトリガーされるターゲット/アクションイベントのコンテキスト外で呼び出す必要がある場合は、sender引数を渡します。

[self clearText:nil];
于 2013-02-13T23:25:05.353 に答える
1

実際のボタン テキストを確認する必要があるのはなぜですか。ボタンのインデックスを確認するのが最も効率的な方法です。alertView に 2 つのフィールドがある場合は、インデックスが 0 か 1 かを確認してください。実際のテキストをチェックする余分な作業を行います。

ところで、いいえを押したときに特に何もする必要がない場合は、はいボタンのインデックスを確認してください。(必要がない場合は、両方のインデックスをチェックしないでください)。

于 2013-02-14T00:54:59.210 に答える