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]
、これは文書化されていないクラスなのでできません。これを行う他の方法はありますか?
ありがとう。