【Swift】100 Days of SwiftUI筆記(20)

筆記

本篇文章記錄一下100 Days of SwiftUI第20天的筆記內(nèi)容

用stacks排列視圖

如果想返回多個(gè)東西可以用:
HStack/VStack/ZStack處理水平/垂直/深度
// VStack:一個(gè)放置在另一個(gè)之上
var body: some View {
    VStack {
    // VStack(spacing: 20) { // 設(shè)置間距
    // VStack(alignment: .leading) { // 設(shè)置對(duì)齊方式灰伟,默認(rèn)居中
        Text("Hello, world!")
        Text("This is inside a stack")
        Spacer() // 可以使用一個(gè)或多個(gè)Spacer視圖將stack的內(nèi)容推到一側(cè)
    }
}
// HStack:一個(gè)放置在另一個(gè)旁邊
HStack(spacing: 20) {
    Text("Hello, world!")
    Text("This is inside a stack")
}
// ZStack:按深度排列事物,使視圖重疊
// ZStack從上到下桥狡、從后到前繪制其內(nèi)容
ZStack {
    Text("Hello, world!")
    Text("This is inside a stack")
}

顏色和布局

// 整個(gè)視圖設(shè)置顏色
ZStack {
    Color.red // 本身就是一個(gè)視圖
        .frame(width: 200, height: 200) // 可以用frame設(shè)置特定尺寸
        // .frame(minWidth: 200, maxWidth: .infinity, maxHeight: 200) // 設(shè)置高度不超過200女责,但寬度至少為200
    Text("Your content")
}
.ignoresSafeArea()  // 整個(gè)屏幕填充顏色(忽略安全區(qū))

漸變

// 漸變組成:顯示一系列顏色生年、尺寸和方向信息常柄、要使用的漸變類型

// 1.線性漸變
LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom)

// Gradient.Stop可以設(shè)置漸變停止點(diǎn)
LinearGradient(gradient: Gradient(stops: [
    Gradient.Stop(color: .white, location: 0.45), // 可以直接編寫.init而不是Gradient.Stop
    Gradient.Stop(color: .black, location: 0.55),
]), startPoint: .top, endPoint: .bottom)
// 2.徑向漸變
RadialGradient(gradient: Gradient(colors: [.blue, .black]), center: .center, startRadius: 20, endRadius: 200)
// 3.角度漸變
AngularGradient(gradient: Gradient(colors: [.red, .yellow, .green, .blue, .purple, .red]), center: .center)

按鈕和圖像

struct ContentView: View {
    var body: some View {
        // Button("Delete selection") {
        //   print("Now deleting…")
        // }
        Button("Delete selection", action: executeDelete)
    }

    func executeDelete() {
        print("Now deleting…")
    }
}
// role可以調(diào)整按鈕外觀赤套,例如.destructive表示刪除按鈕具有破壞性
Button("Delete selection", role: .destructive, action: executeDelete)
// .bordered和.borderedProminent(邊框突出樣式)使用按鈕的內(nèi)置樣式
VStack {
    Button("Button 1") { }
        .buttonStyle(.bordered)
    Button("Button 2", role: .destructive) { }
        .buttonStyle(.bordered)
    Button("Button 3") { }
        .buttonStyle(.borderedProminent)
    Button("Button 4", role: .destructive) { }
        .buttonStyle(.borderedProminent)
}
// tint自定義按鈕顏色
Button("Button 3") { }
    .buttonStyle(.borderedProminent)
    .tint(.mint)
// 自定義按鈕
Button {
    print("Button was tapped")
} label: {
    Text("Tap me!")
        .padding()
        .foregroundColor(.white)
        .background(.red)
}
// 按鈕設(shè)置圖片
Button {
    print("Edit button was tapped")
} label: {
    Label("Edit", systemImage: "pencil")
}

顯示彈框消息

struct ContentView: View {
   @State private var showingAlert = false

   var body: some View {
       Button("Show Alert") {
           showingAlert = true
       }
       .alert("Important message", isPresented: $showingAlert) {
           Button("Delete", role: .destructive) { }
           Button("Cancel", role: .cancel) { }
       } message: {
           Text("Please read this.")
       }
   }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市晚胡,隨后出現(xiàn)的幾起案子灵奖,更是在濱河造成了極大的恐慌嚼沿,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓷患,死亡現(xiàn)場(chǎng)離奇詭異骡尽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)擅编,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門攀细,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沙咏,你說我怎么就攤上這事辨图“嗵祝” “怎么了肢藐?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吱韭。 經(jīng)常有香客問我吆豹,道長(zhǎng),這世上最難降的妖魔是什么理盆? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任痘煤,我火速辦了婚禮,結(jié)果婚禮上猿规,老公的妹妹穿的比我還像新娘衷快。我一直安慰自己,他們只是感情好姨俩,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布蘸拔。 她就那樣靜靜地躺著,像睡著了一般环葵。 火紅的嫁衣襯著肌膚如雪调窍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天张遭,我揣著相機(jī)與錄音邓萨,去河邊找鬼。 笑死菊卷,一個(gè)胖子當(dāng)著我的面吹牛缔恳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播洁闰,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼褐耳,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了渴庆?” 一聲冷哼從身側(cè)響起铃芦,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤雅镊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后刃滓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仁烹,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年咧虎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卓缰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡砰诵,死狀恐怖征唬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情茁彭,我是刑警寧澤总寒,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站理肺,受9級(jí)特大地震影響摄闸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妹萨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一年枕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乎完,春花似錦熏兄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至娃弓,卻和暖如春典格,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背台丛。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工耍缴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挽霉。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓防嗡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親侠坎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蚁趁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容