1

通常のViewを持つView Controllerがあります。そのビューには、4 つのサブビューがあります。に反応するには、それぞれが必要UISwipeGestureRecognizerです。ビューをUISwipeGestureRecognizerInterface Builder の にフックし、 を にフックしUISwipeGestureRecognizerましたIBAction。それはすべてうまくいきます。それらはすべてに反応しUISwipeGestureRecognizerます。

しかし、どのビューがIBAction. 私は何をすべきか?IBActionコードは次のとおりです。

- (IBAction)swipe:(UISwipeGestureRecognizer *)sender
{
    switch (view)
    {
        case view1:
            //do something
            break;

        case view2:
            //do something
            break;

        case view3:
            //do something
            break;

        default:
        //do something
        break;
    }
}

これをどのように処理すればよいですか?

4

2 に答える 2

1

各ビューにタグを割り当てます。そうすれば、switch ステートメントを使用してそれらを区別することができますが、各ビューへの参照を保持する必要はありません。元:

- (IBAction)tapSignature:(UISwipeGestureRecognizer *)sender
{
    NSLog(@"swiped");

    switch (sender.view.tag)
    {
        case 1:
            NSLog(@"1");
            break;

        case 2:
            NSLog(@"2");
            break;

        case 3:
            NSLog(@"3");
            break;

        default:
            NSLog(@"4");
            break;
    }
}
于 2013-08-10T21:51:10.740 に答える