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阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352