0

どちらもUISwitchクリックイベントで同じメソッドを呼び出すため、そのメソッドでは、2つのスイッチを区別して、誰がイベントを送信したかを知る必要があります。そのために、私tagはそれらの1つだけに割り当てました:

switch1.tag=0;

これらのいずれかがクリックされたときに起動されるメソッドで、UISwitchそのテストを行います。

-(void)switchValueGetsChanged:(UISwitch*)sender{

    if (sender.tag==0) {
        NSLog(@"It's switch 1");
    }else{

        NSLog(@"It's switch 2");
    }

さて、コードを実行すると、常に最初のメッセージが表示されることに気付きました。

    NSLog(@"It's switch 1");

2番目をクリックしてもUISwitch。2番目にもタグを割り当てることで問題を解決しましたUISwitch

switch1.tag=0;
switch2.tag=1;

さて、問題は解決したので、私の質問は次のとおりです。複数の を取得し、値でUISwitch判断したい場合、すべてのオブジェクトにプロパティを割り当てることは必須ですか? 事前にサンクス。tagtagUISwitch

4

1 に答える 1

0

あなたは尋ねました:

複数の を取得し、値でUISwitch判断したい場合、すべてのオブジェクトにプロパティを割り当てることは必須ですか?tagtagUISwitch

プロパティに基づいてビューを区別したい場合はtag、はい、そのプロパティを設定する必要がありtagます。tagを設定していない場合、他にどのように確認できますtagか?

0ところで -タグ値の 1 つとして使用しないでください。これはすべてのビューのデフォルトであるため、これを設定しても実際には何の役に0も立ちません。

于 2012-11-14T00:14:50.637 に答える