You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Show SwiftUI Inspector:编辑属性
Embed In *** :把当前部分代码块套上指定容器,HStack(横向容器)VStack(纵向容器)List(还没学应该和WPF的差不多吧)
Extract Subview:把当前View部分导出一个子View,对于我们抽象优化界面代码很有帮助
导读
前面教程里面学习Storyboard方式来作为UI interface是感觉非常不适的。好在这不是一条唯一的路。SwiftUI是一个选择。这是苹果推出了全新的一个框架,也是官方力推的。所以可是适当拓宽下广度来和Storyboard做一个对比
限制:IOS13以上支持
学习过程
主要从下面三个互动教程去体验SwiftUI
Your First iOS and SwiftUI App: An App From Scratch
这是一个视频教程,讲解的还可以。但是后面的视频就要收费的
SwiftUI: Getting Started
也是raywenderlich的资源,是一篇图文教程
Creating and Combining Views
苹果官方的教程,还是比较友好的
一些学习过程中的具体技巧及重要概念
SwiftUI是支持实时预览的,有的时候倒入一个组件啥的可能预览需要手工刷新。在开发过程中预览还是很常用的。
记住
option + command + p
在代码编辑界面或者是预览界面都可以操作
command + 控件对象
Show SwiftUI Inspector:编辑属性 Embed In *** :把当前部分代码块套上指定容器,HStack(横向容器)VStack(纵向容器)List(还没学应该和WPF的差不多吧) Extract Subview:把当前View部分导出一个子View,对于我们抽象优化界面代码很有帮助
重要概念
modifier
相当于属性修改,但是这里和其他系统不一样的是,modifier属于链式语法,每增加一个会产生一个新的对象
另外操作顺序会对结果产生不同影响
@State声明标记
加个这个tag,变量就变成了双向绑定。
使用的时候需要加上${name}
控件声明方法上也会指明需要绑定
如:slider的初始化 init(value: Binding, in: ClosedRange, onEditingChanged: (Bool) -> Void)
一些心得体会
以前也界面就是html/aspx/xaml/xml
整体体验都是大同小异,相对来说的xaml是最严谨的。
这次体验了一把代码及界面,真的很香
其实以前写WPF的时候就有喜欢把代码放xaml还是cs的两种流派,这回swift直接统一了。
我个人觉得比较好的优点
另外Jetpack Compose的语法好像和SwiftUI一个思想,目前SwiftUI是走在前面了。以后学习Jetpack Compose应该会更快上手
The text was updated successfully, but these errors were encountered: