簡體   English   中英

在 iPhone 11 上,使用自定義視圖,為什么我的 Tap Recognizer 或 UIButton 在視圖的頂部沒有響應,但在視圖的下部有效

[英]On iPhone 11, using a custom view, why is my Tap Recognizer or UIButton not responding on top part of View but works on lower part of View

我有一些自定義操作表。 它們是完全自定義的控件,而不是基於 UIActionSheet。 我將它們作為子視圖添加到視圖控制器中,並為它們設置動畫。 它們在舊設備上運行良好,但在 iPhone 11 上我遇到了問題。 在最像 UIActionSheet 的那些中,頂部的 Action 項是不可點擊的。 其他項目是可點擊的。 在調試器中,我看到代碼認為我在自定義操作表之外單擊了。

我還注意到,從底部向上滑動並呈現集合視圖的其他類似自定義控件之一不會像在舊設備上那樣在屏幕底部齊平。 上面有點高。 但它工作正常。

問題是在我為每個自定義控件制作的 XIB 文件中,我使用的是 SafeArea 並且控件的自定義內容視圖與安全區域齊平。 我展示控件的視圖控制器沒有使用底部安全區域 - 這是設計的一個有意部分,以便內容一直到底部 - 該屏幕上沒有顯示標簽欄。

但在 iPhone 11 上,安全區域較低。 因此,在呈現視圖時,顯然在 XIB 文件中使用安全區域意味着視圖顯示在更高的位置,而不是與屏幕底部齊平,盡管我給了它的坐標。 但顯然操作系統的其他部分正在“看到”內容視圖,好像它是我說它應該降低的地方,與屏幕底部齊平,因此觸摸靈敏度在 y 坐標處被切斷我曾要求視圖的頂部在哪里。

暫無
暫無

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

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