美文网首页iCoderSwiftUI
swiftUI 知识小结

swiftUI 知识小结

作者: o_O小薯条 | 来源:发表于2020-06-24 15:38 被阅读0次

    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?#>)

    相关文章

      网友评论

        本文标题:swiftUI 知识小结

        本文链接:https://www.haomeiwen.com/subject/zdkrfktx.html