2011-07-10 12 views
2

私はtouchesBegan:の方法が問題なく動作しています。しかし、私は最近私のUIViewControllerにUIView(ボタン)を追加し、今ボタンはタップを登録していませんが、私のtouchesBegan:メソッドです。touchesBegan - iPhoneアプリUIView

touchesBegan:ボタンを避ける方法を教えてください。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    NSLog(@"touches began"); 
    UITouch *touch = [touches anyObject]; 
    switch ([touch tapCount]) 
    { 
     case 1: 
      break; 

     case 2: 
      if(something) 
       [doing something]; 

      break; 

     default: 
      break; 
    } 
} 
+0

いつも、IBでボタンを作成した場合は、そのボタンを正しく接続していることを再度確認してください。 –

答えて

1

はボタンがフロント([self.view bringSubviewToFront: myButton])であることを確認してください:ここで

は私の現在のtouchesBegan:方法です。次に、あなたはそれが発生している視線で質問することができます:

if ([touch.view isEqualTo: myButton]) { 
    NSLog(@"touch was on button"); 
} 
0

私は同じ問題がありました。 UIViewController.bringSubviewToFrontを使用してボタンを前面に移動すると、ボタンをクリックしたときにtouchesBeganが呼び出されなくなりました。私はシミュレータでXcode 4.2を実行しています。

関連する問題