av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)IOS教程:配置視圖

概覽

在 SwiftUI 中,你可以將視圖組合成一個層次結構,用它來描述你的 App 用戶界面。視圖修飾符能幫助你自定 App 視圖的外觀和行為。例如,你可以使用修飾符來執(zhí)行以下操作:

10年的常州網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整常州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“常州網(wǎng)站設計”,“常州網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

  • 為視圖添加輔助功能。

  • 調(diào)整視圖的樣式、布局和其他外觀特征。

  • 響應拷貝和粘貼等操作。

  • 有條件地呈現(xiàn)模式視圖,例如彈出窗口。

  • 配置支持視圖,例如工具欄。

由于視圖修飾符是帶有 View (英文) 協(xié)議提供的行為的 Swift 方法,因此,你可以將它們應用于遵從 View (英文) 協(xié)議的任何類型。這包括 Text (英文)、Image (英文) 和 Button (英文) 等原生視圖以及你定義的視圖。

通過修飾符配置視圖

與其他 Swift 方法一樣,修飾符在實例上運行 (在本例中為某種視圖) 并且可以選擇性地采用輸入?yún)?shù)。例如,你可以應用 foregroundColor(_:) (英文) 修飾符來設置 Text (英文) 視圖的顏色:

 Text("Hello, World!")  .foregroundColor(.red) // Display red text.

修飾符將返回一個包裝了原始視圖的視圖,并在視圖層次結構中替換它。你可以將上例中的兩行代碼想成是解析為顯示紅色文本的單一視圖。

盡管上述代碼遵循 Swift 的規(guī)則,但剛剛接觸 SwiftUI 的開發(fā)者可能不熟悉此代碼的結構。SwiftUI 使用聲明式方法,也就是說,你在代碼中聲明并配置視圖的位置與視圖在視圖層次結構中的位置對應。有關更多信息,請參閱“聲明自定視圖”。

鏈式調(diào)用修飾符以實現(xiàn)復雜效果

你通常通過一個接一個地調(diào)用修飾符來以鏈式方式調(diào)用它們,即每個修飾符都包裝了上一個修飾符的結果。例如,你可以使用 frame(width:height:alignment:) (英文) 修飾符將文本視圖包裝在具有給定寬度的隱形框中,以影響其布局,然后使用 border(_:width:) (英文) 修飾符圍繞該框架繪制一個輪廓:

 Text("Title")  .frame(width: 100)  .border(Color.gray)

你應用修飾符的順序很重要。例如,通過以上代碼得出的 border 會繪制框架完整寬度的輪廓。

如果在 border 修飾符之后指定 frame 修飾符,則 SwiftUI 僅會將 border 應用于文本視圖,占用的空間絕不會超過渲染其內(nèi)容所需的空間。

 Text("Title")  .border(Color.gray) // Apply the border first this time.  .frame(width: 100)

將該視圖包裝在一個具有固定 100 點寬度的隱形框中會影響復合視圖的布局,但對 border 沒有影響。

配置子視圖

你可以將 View (英文) 協(xié)議定義的任何視圖修飾符應用于任何具體的視圖,即使是在修飾符對其目標視圖沒有直接影響的情況下也是如此。修飾符的影響會傳播到并未顯式覆蓋修飾符的子視圖。

例如,VStack (英文) 實例本身的作用僅僅是垂直堆疊其他視圖,它沒有任何要顯示的文本。因此,將一個 font(_:) (英文) 修飾符應用于該 stack 不會對它產(chǎn)生任何影響。然而,font 修飾符卻會應用于該 stack 的所有子視圖,其中的部分視圖可能會顯示文本。不過,你可以通過向特定子視圖添加另一個修飾符來在本地覆蓋該堆疊的修飾符:

 VStack {  Text("Title")  .font(.title) // Override the font of this view.  Text("First body line.")  Text("Second body line.") } .font(.body) // Set a default font for text in the stack.

使用特定于視圖的修飾符

盡管許多視圖類型依賴于標準視圖修飾符來進行自定和控制,但某些視圖可以定義特定于該視圖類型的修飾符。此類修飾符僅適用于相應類型的視圖。例如,你可以使用 Text (英文) 定義的 bold() (英文) 修飾符,來方便地向視圖的文本添加粗體效果。盡管你可以在任何視圖上使用 font(_:) (英文),因為它是 View (英文) 協(xié)議的一部分,但你僅能在 Text (英文) 視圖上使用 bold() (英文)。因此,你并不能在容器視圖上使用 bold 修飾符:

 VStack {  Text("Hello, world!") } .bold() // Fails because 'VStack' doesn't have a 'bold' modifier.

此外,在應用另一個通用修飾符后,你也不能在 Text (英文) 視圖上使用它,因為通用修飾符會返回一個 opaque type (英文)。例如,padding 修飾符的返回值不是 Text (英文),而是一個無法采用 bold 修飾符的不透明的結果類型:

 Text("Hello, world!")  .padding()  .bold() // Fails because 'some View' doesn't have a 'bold' modifier.

正確的做法是將 bold 修飾符直接應用于 Text (英文) 視圖,然后添加 padding:

 Text("Hello, world!")  .bold() // Succeeds.  .padding()

當前名稱:創(chuàng)新互聯(lián)IOS教程:配置視圖
轉(zhuǎn)載源于:http://uogjgqi.cn/article/dpjhgdp.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流