SwiftUI是在Xcode上创建用户界面的一种新便捷方式。 如果您想快速介绍SwiftUI,那么此博客文章适合您。
首先,让我们创建一个具有SwiftUI支持的项目。 最低系统要求是macOS Catalina和Xcode11。创建一个新项目
“ File> New> Project ...” ,选择
“ Single View App” ,并确保选择
“ User Interface:SwiftUI” 。

该项目将如下所示:

您可能已经注意到,现在您可以在
Preview上立即看到所有更改。 例如,尝试将文本更改为
“ Hello,Habr!” 。 酷吗?
如果没有更改,请单击“
继续”按钮(位于右上角)。 如果“
预览”不可见-单击“
编辑器”选项 ,并确保选择了“
画布”(⌥选项+⌘Command+↵Enter) 。

视图,文本,堆栈...
如果选择
ContentView.swift ,那么我们将看到:
struct ContentView: View { var body: some View { Text(", !") } }
在这里,我们看到
ContentView>正文具有显示
“ Hello,Habr!”的
Text 。 让我们添加另一个文本。 如果您尝试直接添加到
正文视图中 ,则Xcode会发誓。 为此,请首先使用
HStack或
VStack 。 按
Command并单击
Text(⌘Command+ Text) ,然后选择
“ Embed in HStack” 。

该命令将自动创建一个
HStack并在其中添加我们的文本。 现在,您可以添加其他文本:
struct ContentView: View { var body: some View { HStack { Text(",") Text("!") } } }
Swiftui检查器
如果单击
“⌘Command+ Text”,然后选择
“ Show SwiftUI Inspector ...” ,将打开一个检查器,您可以在其中直观地更改文本属性。 例如,如果在检查器中将
“字体”更改为
“大标题” ,则代码也将更改为
.font(.largeTitle) 。 很简单:

什么是国家 ?
要了解什么是
State ,让我们添加一些操作。 我们重复之前的操作:
“⌘Command+ HStack” ,选择
“嵌入VStack” ,然后将Button添加到此
VStack中 :
struct ContentView: View { @State var tapCount = 0 var body: some View { VStack { HStack { Text(",") .font(.largeTitle) .foregroundColor(Color.green) Text("!") .font(.largeTitle) .fontWeight(.bold) } Button(action: { self.tapCount += 1 }) { Text("Tap count \(tapCount)") .font(.title) } } } }
每次您单击按钮时,我们都会更改
tapCount的值。 但是
状态是什么意思? 如果我们希望在某些值更改时重新
显示视图 ,则应使用
State 。 在这种情况下,当我们单击按钮时,将更改
tapCount ,它被指定为
State 。 这就是为什么每次点击都会再次渲染我们的
身体 。
实时预览
此刻,如果您单击该按钮,则什么也不会发生。 要解决此问题并像模拟器一样工作,您需要激活
“实时预览” 。 激活按钮位于右下角:

现在再试一次。 每次按下按钮,该值都会改变。
接下来是什么?
现在您有了SwiftUI的基本概念。 此外,我建议您阅读
SwiftUI教程 ,观看
有关SwiftUI的
WWDC视频 。 该文档可在
此处找到。
链接到github项目在
这里 。