1

ペン先に 2 つのボタンが重なっています。タップしたときに両方を押す必要がありますが、その機能を実行するのは一番上のボタンだけです。一番上のボタンが押されたときに一番上のボタンが一番下のボタンをアクティブにするように指示する方法はありますか。ボタンを1つにマージして1つの -(IBAction)buttonName 関数を使用することはできないと思います.1つのボタンが他のボタンよりも大きいため、いずれかが押されたときに両方をアクティブにする必要があるとは限りません.

ありがとう!

4

2 に答える 2

3

一番上のボタンが押されたときに一番上のボタンが一番下のボタンをアクティブにするように指示する方法はありますか。

そうではありませんが、一番上のボタンのアクションで一番下のボタンのアクションを呼び出すことができます。

1 つの方法を次に示します。

- (IBAction)actionTop:(id)sender
{
    NSLog(@"The top button was activated.");
    [self actionBottom:self];
}

- (IBAction)actionBottom:(id)sender
{
    NSLog(@"The bottom button was activated.");
}

もう 1 つの方法は、両方に同じアクションを使用し、アクションをトリガーしたボタンに基づいて何をすべきかを判断することです。

- (IBAction)action:(id)sender
{
    // if the top button was tapped, do this part
    if (sender == self.topButton) {
        NSLog(@"The top button was activated.");
    }

    // you want the bottom button to be activated no matter which button was tapped, so
    // no need to check here...
    NSLog(@"The bottom button was activated.");
}

一番下のボタンは、表示される内容を変更する画面全体です。トップボタンはサウンドを再生しますが、異なるサウンドを再生する4つのトップボタンがあります

画面全体を覆う目に見えないボタンは、問題に取り組むには間違った方法のようです。ビューに添付されたジェスチャ認識エンジンを使用して変更をトリガーすることを検討する場合があります。ボタン アクションは、ジェスチャ レコグナイザーが使用するのと同じメソッドを呼び出すことができます。

于 2013-08-07T21:15:20.043 に答える