首先:我們先總結一下控制項不能互動的原因有哪些?
//所以,當乙個控制不能互動時,我們需要分析一下:1.控制項的使用者互動被關閉了! -> userinteractionenable = no[使用者互動]!
//2.控制項隱藏了! hidden = yes;
//3.控制項的透明度 alpha <= 0.01;
//4.父控制項的使用者互動關了! -> 子控制項也就不能響應了!
//5.如果子控制項,超出了父控制項的範圍! -> 超出父控制項區域的部分,不能接受使用者互動!
預設是關閉使用者互動的!新增需要做事情的控制項時需要開啟使用者互動!
//問題來了:如要乙個控制項超出了父控制項的範圍,超出部分是不能點選的,那麼我們怎麼辦才能讓其能點選呢,如下圖:1.看當前控制項的使用者互動是否被關閉?
//2.看當前控制項的父控制項使用者互動是否被關閉?
//3.看當前控制項顯示的位置,是否超出了父控制項!
//4.看當前控制項的父控制項,是否超出了父控制項的範圍!
不賣關子了,我們先來說說解決方法,其實很簡單,重寫乙個方法即可:
1為什麼呢能解決這個問題呢,是「任性的小丸子」幫了我,override func point(inside point: cgpoint, with event: uievent?) ->bool
謝謝小丸子。
按鈕超出父控制項後無法響應點選的解決方法
func hittest point cgpoint,with event uievent?uiview?這個方法返回的view為處理事件最合適的view。當事件傳遞給主視窗之後,這個事件會從父檢視一層層傳遞給子檢視 如果父檢視中沒有子檢視或者子檢視不能響應事件 isuserinteractione...
超過父控制項的部分不能響應事件怎麼辦
前言 乙個朋友問我過乙個這樣的問題,他在底部的tabbar上面加了乙個控制項,這個控制項超出了底部的tabbar,超出的部分無法響應事件,怎麼辦?相信大家應該明白為什麼不能響應事件的原因,就是響應者鏈條麼,你父控制項不能響應,系統就認為你也不能響應,具體的內容請看這篇部落格 我這裡自定義了乙個tab...
超過父控制項的部分不能響應事件怎麼辦
前言 乙個朋友問我過乙個這樣的問題,他在底部的tabbar上面加了乙個控制項,這個控制項超出了底部的tabbar,超出的部分無法響應事件,怎麼辦?相信大家應該明白為什麼不能響應事件的原因,就是響應者鏈條麼,你父控制項不能響應,系統就認為你也不能響應,具體的內容請看這篇部落格 我這裡自定義了乙個tab...