簡體   English   中英

多級UIView(XIB類型)不觸發UITapGestureRecognizer

[英]Multiple levels UIView (xib type) not trigger UITapGestureRecognizer

我想動態加載一些UIView ,它們有些復雜,所以我花了幾個小時制作.xib文件。

現在假設我有一個finalView ,它作為根/容器視圖顯示在屏幕上。 然后,我也可以是容器視圖的addSubView(subViewLvOne) 最后, subViewOne.addSubView(subViewLvTwo) ,現在我們有了所需的一切。

在屏幕上,它非常完美,正是我想要顯示的結果。 Two里面OneOne里面final

在此處輸入圖片說明

但是我無法通過OneTwo獲得任何click事件。 看來final獲得了所有事件,但是由於其中包含許多小子視圖,因此我當然希望他們獲得自己的事件。

我已經簡化了我的實際情況,避免了許多無關的細節,希望現在的描述清楚。

任何建議都是受歡迎的,即使“使用***優於.xib”也是如此。 我本人已經開始懷疑整個解決方案的方向。

大約2個小時后,我得到了兩個提示:

  1. .xib文件中的根UIView必須足夠大。

我有一個寬度為200的UIView ,並且其中有一個UIButton 在運行時,我更改了UIButton的寬度約束以填充屏幕,顯然大於200。然后發生了一件荒謬的事情:僅按鈕的一部分可以觸發click事件。 在這種情況下,根UIView的寬度(即200像素)。

  1. init(frame:CGRect) ,使width和height值足夠大。

首先,我從網上的一些示例中復制了CGRect.Zero 我的同事發現這將阻止點擊事件。 您可以只提供1000寬度和1000高度,外部區域不會真正觸發點擊事件,同時可以正確地點擊UIView

就這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM