iOS的控制器的view加載到另一個控制器的View以及手勢問題的坑

1.今天利用iOS的手勢api寫了一個側滑欄的顯示view的控制器

這裏寫圖片描述

但是當我把一個控制器側滑欄的view添加到主控制器的view上發現不能響應任何手勢和點擊事件 怎麼想也不明白,沒辦法把側滑欄的改成UIView addSubview上就沒有問題 可以響應手勢和點擊事件,查了很多的資料,最後才知道必須要讓被添加到主控制器的view的控制器成爲主控制器的子控制器,這樣一來控制器上的點擊事件就可以被捕捉了

這裏寫圖片描述

2.還遇到另一個比較二逼的問題,我上面的黑色的是一張圖片,我在控制器的view上添加了點擊手勢,關閉了黑色圖片的交互

 bottom_image.userInteractionEnabled = NO;

發現怎麼點擊黑色圖片也響應手勢事件,可是明明已經關閉了圖片的手勢交互,怎麼可能還傳到上層的view上面去了呢,後來沒辦法只能手勢交互打開,在手勢的代理中判斷當前的view是誰,從而不讓圖片響應手勢

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{

    if ([touch.view isEqual:self.view]) {
        return YES;
    }
    return NO;
}

我也不知道是我理解的錯誤還是怎麼低,圖片的交互關閉了,還可以把手勢點擊事件傳給上層view,誰知道的話希望解答一下,在此表示感謝(以後知曉了,我會把原因寫在後面)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章