超出父控制項怎麼才能點選

2022-01-20 10:17:11 字數 799 閱讀 5442

首先:我們先總結一下控制項不能互動的原因有哪些?

//

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...