在開發(fā)的時候會遇到一個頁面既有點(diǎn)擊手勢又有tableview,那么這個時候tableview的點(diǎn)擊就會被點(diǎn)擊手勢取代,那么我們應(yīng)該怎么處理呢?
首先我們先添加一個手勢:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(disMissGrantureADD:)];
? ? [tap setNumberOfTapsRequired:1];
? ? tap.delegate=self;
? ? [self.view addGestureRecognizer:tap];
使用手勢的代理進(jìn)行解決
<UIGestureRecognizerDelegate>
#pragmamark - UIGestureRecognizerDelegate
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
????? ? if ([NSStringFromClass([touch.view class]) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? isEqualToString:@"UITableViewCellContentView"]) {
? ?????//判斷如果點(diǎn)擊的是tableView的cell,就把手勢給關(guān)閉了
????????returnNO;
????????//關(guān)閉手勢
????????}
????//否則手勢存在
????return YES;
}