UIButtonタッチされたビューが特定のクラス(つまり、およびUIBarButtonItem)のものである場合、これを使用して、gestureRecognizerを無視しようとしています。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
NSLog(@"%@", touch.view);
if ([touch.view isKindOfClass:[UIButton class]]){
return NO;
} else if ([touch.view isKindOfClass:[UIBarButtonItem class]]){
return NO;
}
return YES; // handle the touch
}
それはのためにうまくいきUIButtonます。では機能しませんUIBarButtonItem。UIBarButtonItemに触れたときのNSLogの結果は次のとおりです。
<UIToolbarTextButton: 0x7b8f500; frame = (4 0; 60 40); opaque = NO; layer = <CALayer: 0x7b8f900>> 2012-06-26 12:09:48.021
に変更してみました[UIBarButtonItem class]が[UIToolBarTextButton class]、これは文書化されていないクラスなのでできません。これを行う他の方法はありますか?
ありがとう。