swiftui開發(fā)之padding默認(rèn)值設(shè)置詳解
正文
swiftui 中的 padding 用于設(shè)置視圖的填充。
使用 padding() 可以指定 Text、Button 等視圖填充的數(shù)值,或者是對一個或多個邊設(shè)置填充。
下面讓我們來看看 padding 有哪些使用方式。
padding 的默認(rèn)值
使用 padding() 設(shè)置填充時,沒有設(shè)置具體數(shù)值將會使用特定平臺給定的默認(rèn)值。而這個默認(rèn)值并沒有標(biāo)準(zhǔn)值,對于不同的設(shè)備,用戶的設(shè)置等情況,padding 的默認(rèn)值都會有所不同:
如果值為 nil,則將應(yīng)用特定平臺指定的或者由系統(tǒng)計算的值用于填充。
來看看具體示例:
import SwiftUI struct Test: View { var body: some View { VStack{ Text("沒有默認(rèn)值的padding") .padding() .background(Color.red) Text("填充值為16的padding") .padding(16) .background(Color.blue) } } } struct Test_Previews: PreviewProvider { static var previews: some View { Test() } }
iphone14 pro 顯示效果(下面示例默認(rèn)使用 iphone14 pro 顯示):
上圖的顯示效果中,默認(rèn)值和 16 的效果近似,但不代表默認(rèn)值就是 16。
對某個方向設(shè)置 padding
padding 可以對上下左右 4 個方向單獨設(shè)置填充。
- top:上
- bottom:下
- leading:左
- trailing:右
import SwiftUI struct Test: View { var body: some View { VStack{ Text("上padding") .padding(.top, 20) // 文字頂部設(shè)置 20 像素的填充 .border(Color.gray) Text("下padding") .padding(.bottom, 20) .border(Color.gray) Text("左padding") .padding(.leading, 20) .border(Color.gray) Text("右padding") .padding(.trailing, 20) .border(Color.gray) // 統(tǒng)一設(shè)置 16 像素的填充 Text("填充值為16的padding") .padding(16) .border(Color.gray) } } } struct Test_Previews: PreviewProvider { static var previews: some View { Test() } }
注意:如果在設(shè)置某個方向的 padding 時沒有給定具體數(shù)值,將會使用系統(tǒng)默認(rèn)值:padding(.top)。
同時對多個方向設(shè)置 padding
我們還可以同時對多個方向設(shè)置 pdding。
import SwiftUI struct Test: View { var body: some View { VStack{ Text("上下padding") .padding([.top, .bottom], 20) .border(Color.gray) Text("上下左padding") .padding([.top, .bottom, .leading], 20) .border(Color.gray) Text("左右padding") .padding([.leading, .trailing], 20) .border(Color.gray) Text("左右下padding") .padding([.bottom, .leading, .trailing], 20) .border(Color.gray) Text("水平padding") .padding(.horizontal, 20) .border(Color.gray) Text("垂直padding") .padding(.vertical, 20) .border(Color.gray) Text("填充值為16的padding") .padding(16) .border(Color.gray) } } } struct Test_Previews: PreviewProvider { static var previews: some View { Test() } }
對上下左右4個方向的 padding 進行精確設(shè)置
import SwiftUI struct Test: View { var body: some View { VStack{ Text("精確控制4個方向的padding") .padding(EdgeInsets(top: 10, leading: 20, bottom: 30, trailing: 40)) .border(Color.gray) Text("填充值為16的padding") .padding(16) .border(Color.gray) } } } struct Test_Previews: PreviewProvider { static var previews: some View { Test() } }
總結(jié)
我們學(xué)會了 padding 的各個方向的設(shè)置,給你的布局加點 padding,對用戶體驗會更加友好哦。
以上就是swiftui開發(fā)之padding默認(rèn)值設(shè)置詳解的詳細內(nèi)容,更多關(guān)于swiftui padding默認(rèn)值設(shè)置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Swift調(diào)用Objective-C編寫的API實例
這篇文章主要介紹了Swift調(diào)用Objective-C編寫的API實例,介紹的比較全面和詳細,對Objective-C代碼的重復(fù)利用有極大好處,的朋友可以參考下2014-07-07Ubuntu 16.04上安裝 Swift 3.0及問題解答
本文給大家分享的是在Ubuntu系統(tǒng)中安裝 Swift 3.0的方法和步驟,以及安裝過程中有可能遇到的問題的解答,這里推薦給小伙伴們,希望大家能夠喜歡2016-07-07Swift 基本數(shù)據(jù)類型詳解總結(jié)
在我們使用任何程序語言編程時,需要使用各種數(shù)據(jù)類型來存儲不同的信息。變量的數(shù)據(jù)類型決定了如何將代表這些值的位存儲到計算機的內(nèi)存中。在聲明變量時也可指定它的數(shù)據(jù)類型。所有變量都具有數(shù)據(jù)類型,以決定能夠存儲哪種數(shù)據(jù)2021-11-11swiftui開發(fā)之padding默認(rèn)值設(shè)置詳解
這篇文章主要為大家介紹了swiftui開發(fā)之padding默認(rèn)值設(shè)置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09swift4 使用DrawerController實現(xiàn)側(cè)滑菜單功能的示例代碼
這篇文章主要介紹了swift4 使用DrawerController實現(xiàn)側(cè)滑功能的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06