swiftUI 知識小結

SwiftUI ?View


1. Text?

文字

2. Image

圖片

3.Button(Tap)

按鈕 手勢

4.Spacer

占位的view

5.Divider

分割線,VStack 里面分割線是水平方向的線

HStack 里面分割線是豎直方向的線

6.Rectangle

矩形View

7.RoundedRectangle

圓角矩形View 圓角等于高度的一半時,矩形兩邊正好是兩個半圓

----------------------------->1<-----------------------------


1.VStack

讓View縱向排列

2.HStack

讓View水平排列

3.ZStack

垂直于屏幕方向排列

4.Group

分組,顯示多個自動預覽頁的時候,可以把自動預覽頁放進Group,

5.GeometryReader

一個View,會盡量的擴張自己,盡可能多占空間,可以放View,可以獲取自己的寬高

6.ScrollView

可滑動的View

----------------------------->2<-----------------------------


1.List

可以展示多個不同的View,可以用for Each語句鋪view

2.ForEach

for循環 遍歷數組或者view數組,這些view可以放到List里面

3.NavigationView

導航欄可以進行跳轉

4.NavigationLink

導航欄的跳轉

5.EmptyView

空View?

6.Model presentation?

模態推出一個頁面

----------------------------->3<-----------------------------


ViewModifier 控件修改器,這是個協議

1.frame

修改View寬高

2.padding

修改View上下左右的間距

3.offset

修改View水平方向或豎直方向偏移量

4.clipShape

把View裁成某個形狀 (圓形)

5.clipped

把超出View得部分裁剪掉

6.scaleEffect

實現縮放效果

----------------------------->4<-----------------------------


1.foregroundColor

修改顏色

2.opacity

修改透明度

3.hidden

隱藏View

4.overlay

在View前面添加東西

5.background

在View后面添加東西

----------------------------->5<-----------------------------


1.ListRowInsets

修改一個View在List里面的上下左右間距

2.edgeslgnoringSafeArea

當一個View的一部分處在安全區域的時候,要在安全區域里顯示內容可以用~~忽略安全區域

3.navigationBarTitle

設置導航欄的標題

4.navigationBarHidden

設置了標題之后,~~導航欄隱藏才會起作用,

5.navigationBarItems

可以在導航欄里 添加其他的View

6.navigationViewStyle

我們在適配ipad的時候用到,可以使ipad顯示的效果和iphone一樣

----------------------------->6<-----------------------------


SwiftUI Text

1.font

修改字體、大小

2.bold

字體加粗

3.lineLimit

限制行數

----------------------------->7<-----------------------------


SwiftUI Image

1.resizable

聲明圖片是可以縮放的

2.scaleToFill

保持原圖寬高比填充整個空間

3.scaleToFit

保持原圖寬高比適應整個空間

----------------------------->8<-----------------------------


SwiftUI Button

1. buttonStyle

當list里面的一個View有多個button的時候,點擊這個View所有的button都會響應,要解決這個問題,我們設置了buttonStyle,設置為BorderlessButtonStyle,其實設置成其他的buttonStyle也可以,我們也可以自定義buttonStyle

----------------------------->9<-----------------------------


SwiftUI -> UIKit

1.UIHostingController

把swiftUI的View封裝成UIViewController

----------------------------->10<---------------------------


UIKit?-> SwiftUI

1.UIViewRepresentable

協議,至少實現兩個函數,創建函數makeUIView和更新函數updateUIView,如果需要可以自定義Coordinator

2.UIViewControllerRepresentable

協議,至少實現兩個函數,創建函數makeUIViewController和更新函數updateUIViewController,如果需要可以自定義Coordinator

----------------------------->11<---------------------------


Protocol

1.ObservableObject(@Published)

我們在用到環境對象的時候,環境對象的類型必須遵循這個協議,這個協議規定了類型必須是class類,這個類里面的屬性加上@Published修飾詞,屬性改變用到這個屬性的View就會更新

----------------------------->12<---------------------------


語法

1.@State

通常是View自己使用,可以起到更新屬性的時候就更新View

2.@Binding

子View使用父View的屬性時,需要使用這個修飾詞可以起到更新屬性的時候就更新View,父View和子View的屬性綁定在一塊,一個改變另一個也會改變,同時更新View

3.@Environment


4.@EnvironmentObject

必須遵循ObservableObject協議,協議詳情請看12頁,需要在多個頁面共享的話 用這個修飾,聲明之后不需要賦值,因為它會從父View里面找相應的值,如果找不到app會閃退

5.@ObservedObject

必須遵循ObservableObject協議,協議詳情請看12頁,復雜類型屬性可以使用這個

----------------------------->13<---------------------------


動畫

1.publicfuncwithAnimation(_animation:Animation? = .default,_body: ()throws->Result)rethrows->Result

使用:

withAnimation { () -> Result in

? ? ? ? ? ? ? ? <#code#>

}

2.@inlinable public func animation(_ animation: Animation?) -> some View

使用:

{

}.animation(<#T##animation: Animation?##Animation?#>)

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380