스택 3.보기 조합
후 뷰에 제목을 만들고,의는 이름과 상태 공원 등의 자세한 정보의 제목을 표시하는 데 사용되는 텍스트 뷰를 추가 할 수 있습니다.
작성 SwiftUI
시간보기를 우리는 볼 수 있습니다 body
내용, 레이아웃 및 행동 특성의 설명. 때문에 body
속성이 단일 뷰를 돌려, 우리가 사용할 수있는 Stacks
그들이, 수평, 수직 또는 뒤에서 앞으로 함께 주문에 있도록,보기 및 삽입 복수의 결합.
이 섹션에서 우리는 수치를 사용 stack
하고 수직 공원의 세부 사항을 표시 stack
제목에 위의 세부 사항.
우리는 컨테이너에 엑스 코드 편집 기능이 포함됩니다보기를 사용할 수 있습니다 당신은 사용할 수 있습니다 inspector
또는 help
더 많은 도움을 찾을 수 있습니다.
3.1 누른 상태에서 Command
볼의 텍스트 초기화 방법을 클릭, 편집 창을 선택합니다 Embed in VStack
.
다음에, 행 Library
(A)의 드래그 Text view
받는 첨가 stack
매체.
3.2 드 XCO의 오른쪽 상단에있는 플러스 버튼을 클릭 (+)
개방 Library
한 후 드래그 Text view
코드를 넣어 Turtle Rock
다시.
3.3 것이다 Placeholder
변경 Joshua Tree National Park
.
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Text("Turtle Rock")
.font(.title)
Text("Joshua Tree National Park")
}
}
}
struct ContentView_Preview: PreviewProvider {
static var previews: some View {
ContentView()
}
}
장소는 수요를 충족하기 위해 레이아웃보기를 조정합니다.
SwiftUI 자습서
3.4 뷰의 위치 font
세트 .subheadline
.
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Text("Turtle Rock")
.font(.title)
Text("Joshua Tree National Park")
.font(.subheadline)
}
}
}
struct ContentView_Preview: PreviewProvider {
static var previews: some View {
ContentView()
}
}
SwiftUI 자습서
3.5 编辑 VStack
的初始化方法,将 view 以 leading
方式对齐。
默认情况下, stacks
会将内容沿其轴居中,并设置适合上下文的间距。
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
VStack(alignment: .leading) {
Text("Turtle Rock")
.font(.title)
Text("Joshua Tree National Park")
.font(.subheadline)3
}
}
}
struct ContentView_Preview: PreviewProvider {
static var previews: some View {
ContentView()
}
}
接下来,我们在地点的右侧添加另一个 text view 来显示公园所在的州。
3.6 在 canvas
中按住 Command
,单击 Joshua Tree National Park
,然后选择 Embed in HStack
。
3.7 在地点后新加一个 text view,将 Placeholder
修改成 California
,然后将 font
设置成 .subheadline
。
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
VStack(alignment: .leading) {
Text("Turtle Rock")
.font(.title)
HStack {
Text("Joshua Tree National Park")
.font(.subheadline)
Text("California")
.font(.subheadline)
}
}
}
}
struct ContentView_Preview: PreviewProvider {
static var previews: some View {
ContentView()
}
}
SwiftUI教程
3.8 在水平 stack
中添加一个 Spacer
来分割及固定 Joshua Tree National Park
和 California
,这样它们就会共享整个屏幕宽度。
spacer
能展开它包含的 view ,使它们共用其父 view 的所有空间,而不是仅通过其内容定义其大小。
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
VStack(alignment: .leading) {
Text("Turtle Rock")
.font(.title)
HStack {
Text("Joshua Tree National Park")
.font(.subheadline)
Spacer()
Text("California")
.font(.subheadline)
}
}
}
}
struct ContentView_Preview: PreviewProvider {
static var previews: some View {
ContentView()
}
}
3.9 最后,用 .padding()
这个修饰方法给地标的名称和信息留出一些空间。
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
VStack(alignment: .leading) {
Text("Turtle Rock")
.font(.title)
HStack {
Text("Joshua Tree National Park")
.font(.subheadline)
Spacer()
Text("California")
.font(.subheadline)
}
}
.padding()
}
}
struct ContentView_Preview: PreviewProvider {
static var previews: some View {
ContentView()
}
}