告訴檢視如何通過調整其大小,位置,對齊方式,填充等在檢視層次結構中進行排列。
調整檢視大小
1、func frame(width: cgfloat?, height: cgfloat?, alignment: alignment) -> some view
將此檢視放置在具有指定大小的不可見框架中。
2、func frame(minwidth: cgfloat?, idealwidth: cgfloat?, maxwidth: cgfloat?, minheight: cgfloat?, idealheight: cgfloat?, maxheight: cgfloat?, alignment: alignment) -> some view
將此檢視放置在具有指定大小限制的不可見框架中。
3、func fixedsize() -> some view
將此檢視固定為理想尺寸。
4、func fixedsize(horizontal: bool, vertical: bool) -> some view
將檢視固定為指定尺寸的理想尺寸。
5、func layoutpriority(double) -> some view
設定父級布局應為此子級分配空間的優先順序。
定位檢視
6、func position(cgpoint) -> some view
將此檢視的中心定位在其父級座標空間中的指定點。
7、func position(x: cgfloat, y: cgfloat) -> some view
將此檢視的中心放置在其父級座標空間中的指定座標處。
8、func offset(cgsize) -> some view
通過offset引數中指定的水平和垂直量來偏移此檢視。
9、func offset(x: cgfloat, y: cgfloat) -> some view
將此檢視偏移指定的水平和垂直距離。
10、func ignoressafearea(safearearegions, edges: edge.set) -> some view
將檢視擴充套件到其安全區域之外。
貝塔11、struct safearearegions
一組符號安全區域區域。
貝塔12、func edgesignoringsafearea(edge.set) -> some view
更改檢視的建議區域以擴充套件到螢幕的安全區域之外。
不推薦使用
13、func coordinatespace(name: t) -> some view
為檢視的座標空間分配乙個名稱,因此其他**可以在尺寸上進行操作,例如相對於命名空間的點和尺寸。
對齊檢視
14、func alignmentguide(horizontalalignment, computevalue: (viewdimensions) -> cgfloat) -> some view
設定檢視的水平對齊方式。
15、func alignmentguide(verticalalignment, computevalue: (viewdimensions) -> cgfloat) -> some view
設定檢視的垂直對齊方式。
16、struct viewdimensions
檢視的大小及其對齊方式在其自己的座標空間中進行。
17、protocol alignmentid
用於標識對齊指南的型別。
調整檢視的填充
18、func padding(cgfloat) -> some view
沿所有邊緣按指定量填充檢視。
19、func padding(edgeinsets) -> some view
使用您指定的邊緣和填充量填充此檢視。
20、func padding(edge.set, cgfloat?) -> some view
在系統的指定邊緣內填充該檢視的檢視將使用系統計算的填充量。
21、struct edgeinsets
矩形邊的插入距離。
分層檢視
21、func overlay(overlay, alignment: alignment) -> some view
在該檢視前面分層放置乙個輔助檢視。
21、func background(background, alignment: alignment) -> some view
將給定檢視分層放置在該檢視之後。
22、func zindex(double) -> some view
控制重疊檢視的顯示順序。
View 基礎元件(SwiftUI中文文件手冊)
一種型別,代表應用程式使用者介面的一部分,並提供用於配置檢視的修飾符。protocol view您可以通過宣告符合view協議的型別來建立自定義檢視。實現所需的body計算屬性,以提供自定義檢視的內容。struct myview view 通過將swiftui提供的乙個或多個原始檢視 例如上text...
動態獲取view布局檔案
通俗的說,inflate就相當於將乙個xml中定義的布局找出來.因為在乙個activity裡如果直接用findviewbyid 的話,對應的是setconentview 的那個layout裡的元件.注意與findviewbyid 的區別,inflate是載入乙個布局檔案,而findviewbyid則...
SwiftUI內功之如何看待不完善的布局系統
在許多情況下,使用基礎的方法就能滿足我們日常的布局需求,但有時我們需要更多的自定義方法。例如,如果我們想根據可用寬度顯示完全不同的檢視怎麼辦 或者我們如何實現類似流布局的流程 當水平位置不夠時,然後再開始新的一行 類似於呈現文字時的自動換行 為了解決自定義布局需求,swiftui為我們提供下面當ap...