簡體   English   中英

訪問導航欄高度和狀態欄高度

[英]Accessing Navigation Bar Height and Status Bar Height

我目前正在使用Swift開發我的第一個iOS應用程序,並且在應用程序開發的UI部分遇到很多問題。 我決定以編程方式來處理所有視圖,因為它們足夠復雜,以至於我認為情節提要將是主要的痛苦。

我當前的問題是,我試圖將視圖上的所有間距都設為相對,以便在運行時屏幕大小無關緊要。 我的第一個問題是從上到下的間距。 我知道我必須考慮狀態欄高度和導航欄高度。 當我在視圖控制器中時,我知道如何訪問這兩個值,但是我在應將這些值存儲在哪里很費勁。

我必須在使用它們的每個視圖控制器中訪問這些值嗎? 我應該通過視圖控制器將這些值傳遞給我的視圖,還是應該在視圖控制器中完成所有框架? 我以為我理解了視圖控制器和視圖之間的關系,但是我對如何處理諸如間距之類的方法尚不完全清楚。 是在視圖控制器端還是在視圖上?

我知道我可以破解它並使它工作,但是我對實現此目的的“正確”方式更感興趣。 如果有人可用,以編程方式創建並可以在所有設備上使用的視圖和視圖控制器的示例將非常出色。

我建議您不要在代碼中做任何事情。 如果僅用代碼布局所有視圖,則仍可以使用情節提要來管理位於導航欄和狀態欄下方的單個視圖。 這樣一來,您就不必使用任何一個的實際高度。

我試圖使視圖上的所有間距都是相對的,以便運行時屏幕大小無關緊要。

實現此目的的最佳方法是使用autolayout 它既可以在情節提要設計器中使用,也可以以編程方式使用。 它將允許您定義UI元素的行為,而無需了解狀態欄,工具欄,導航欄,屏幕寬度和高度等的尺寸。

暫無
暫無

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

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