簡體   English   中英

沒有安全區域就無法查看 maxX

[英]Can't get view maxX without safe area

我正在嘗試獲取視圖的 maxX 以進行計算,但是盡管該視圖位於堆棧視圖內(與其他視圖一起)並且約束不在安全區域內(並且看起來也是這樣),但當我在正在做

self.frame.maxX

在我看來,它讓我看到 maxX +安全區域 x ..(我檢查過)

有誰知道為什么並有任何解決方案?

--------------

編輯:

感謝@Sweeper,我理解我的錯誤和我需要的東西:

self.bounds.maxX

這個給出了正確的 maxX。

---------------

謝謝,大衛

假設視圖實際顯示在屏幕上,您可以將視圖的safeAreaInsets到視圖的邊界,然后將生成的矩形轉換safeAreaInsets視圖的坐標空間,也就是frame的坐標空間。

let safeBounds = someView.bounds.inset(by: someView.safeAreaInsets)
let safeFrame = someView.superview?.convert(safeBounds, from: someView)
let maxX = safeFrame?.maxX

文檔

視圖的安全區域反映了導航欄、標簽欄、工具欄和其他遮擋視圖控制器視圖的祖先未覆蓋的區域。 您可以通過將此屬性中的插圖應用於視圖的邊界矩形來獲得視圖的安全區域。

暫無
暫無

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

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