日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)IOS教程:配置視圖

概覽

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

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

  • 為視圖添加輔助功能。

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

  • 響應(yīng)拷貝和粘貼等操作。

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

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

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

通過修飾符配置視圖

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

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

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

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

鏈?zhǔn)秸{(diào)用修飾符以實現(xiàn)復(fù)雜效果

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

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

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

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

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

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

配置子視圖

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

例如,VStack (英文) 實例本身的作用僅僅是垂直堆疊其他視圖,它沒有任何要顯示的文本。因此,將一個 font(_:) (英文) 修飾符應(yīng)用于該 stack 不會對它產(chǎn)生任何影響。然而,font 修飾符卻會應(yīng)用于該 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.

使用特定于視圖的修飾符

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

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

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

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

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

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

網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)IOS教程:配置視圖
本文路徑:http://www.5511xx.com/article/dpjhgdp.html