- 在項目開發(fā)中,我們經常會遇到自定義彈框,這時我們往往會再彈框后面加一個半透明黑色遮罩層,并給這個層添加一個點擊手勢,當點擊這個層的時候隱藏自定義彈框。
但這么做有時會遇到一個問題,就是手指點擊的位置在自定義彈框的內部,這是也會觸發(fā)遮罩層的點擊手勢事件,那么這種情況該怎么辦呢?
這是我們可以設置點擊手勢的代理方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
// 返回NO表示,手勢事件不會根據(jù)響應者鏈傳遞,當前的touch對象會被忽略,相當于手勢識別失敗,然后就會走默認的touch系列回調方法
if ([touch.view isDescendantOfView:self.myContent]) {
return NO;
}
return YES;
}
- 有時我們在使用UITableView或UICollectionView的時候,有時會有手勢沖突的情況,為了能解決這個問題,我們可以它們識別多個手勢
同樣也是實現(xiàn)代理方法:
// 這個代理方法返回YES,表示同時識別多個手勢
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。