0

AdminViewControllerという名前のUIViewController派生クラスがあります。

このビューでsingleTabRecognizerを有効にしたい。

ビューは、MainViewControllerで次のように呼び出されます。

AdminViewController* AdminViewC = [[AdminViewController alloc]init];
[self.view addSubview:AdminViewC.view];

AdminViewController.mで

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
    if([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]])
    {
        [gestureRecognizer addTarget:self action:@selector(tappedGestureAction:)];
    }
    return YES;
}

-(void)tappedGestureAction:(UITapGestureRecognizer *)tap{
    UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"View Tapped" message:@"Tapped" delegate:nil cancelButtonTitle:@"Dissmiss" otherButtonTitles:@"Done", nil];
    [av show];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    [self.view setFrame:CGRectMake(500, -200, 200, 300)];
    UITapGestureRecognizer *singleFingerTap =
    [[UITapGestureRecognizer alloc] initWithTarget:self.view action:@selector(handleSingleTap:)];
    [self.view addGestureRecognizer:singleFingerTap];
}

MainViewControllerのビューをタッチすると、次のようになります。

'NSInvalidArgumentException'、理由:'-[UIView handleSingleTap:]:認識されないセレクターがインスタンス0x296d50に送信されました'

誰かにヒントがありますか?よろしく、フィル

4

1 に答える 1

1

にジェスチャーを追加しましたself.viewが、シングルタップセレクターを実装していません。

-(void)handleSingleTap:(UITapGestureRecognizer*)tapGesture
{
}
于 2012-11-27T20:13:48.857 に答える