공식 자습서를 SwiftUI (3 개)

스택 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()
    }
}

 

SwiftUI 官方教程(四)

SwiftUI 官方教程(二)

추천

출처www.cnblogs.com/suibian1/p/11026033.html