SwiftUI Essentials (SwiftUI の本質)

ビルドリストとナビゲーション



訳注:以下、必要な場所においては Mac と iPhone 両方のセクションを提供しています。
Mac → セクション 6、iPhone → セクション 106 とします。








    LandmarkDetail.swift


  1. import SwiftUI
  2. struct LandmarkDetail: View {
  3. var body: some View {
  4. Text("Hello, World!")
  5. }
  6. }
  7. struct LandmarkDetail_Previews: PreviewProvider {
  8. static var previews: some View {
  9. LandmarkDetail()
  10. }
  11. }






    LandmarkDetail.swift


  1. import SwiftUI
  2. struct LandmarkDetail: View {
  3. var body: some View {
  4. VStack {
  5. MapView()
  6. .ignoresSafeArea(edges: .top)
  7. .frame(height: 300)
  8. CircleImage()
  9. .offset(y: -130)
  10. .padding(.bottom, -130)
  11. VStack(alignment: .leading) {
  12. Text("Turtle Rock")
  13. .font(.title)
  14. .foregroundColor(.primary)
  15. HStack {
  16. Text("Joshua Tree National Park")
  17. Spacer()
  18. Text("California")
  19. }
  20. .font(.subheadline)
  21. .foregroundColor(.secondary)
  22. Divider()
  23. Text("About Turtle Rock")
  24. .font(.title2)
  25. Text("Descriptive text goes here.")
  26. }
  27. .padding()
  28. Spacer()
  29. }
  30. }
  31. }
  32. struct LandmarkDetail_Previews: PreviewProvider {
  33. static var previews: some View {
  34. LandmarkDetail()
  35. }
  36. }






    ContentView.swift


  1. import SwiftUI
  2. struct ContentView: View {
  3. var body: some View {
  4. LandmarkList()
  5. }
  6. }
  7. struct ContentView_Previews: PreviewProvider {
  8. static var previews: some View {
  9. ContentView()
  10. }
  11. }




上記の 5~6 行を以下のように書き足します。


    LandmarkList.swift


  1. NavigationView {
  2. List(landmarks) { landmark in
  3. LandmarkRow(landmark: landmark)
  4. }
  5. }




更に 7~9 行目を以下のように書き足します。


  1. List(landmarks) { landmark in
  2. LandmarkRow(landmark: landmark)
  3. }
  4. .navigationTitle("Landmarks")
  5. }





上記のリストの 7 行目を、以下のように書き足します。



  1. NavigationLink(destination: LandmarkDetail()) {
  2. LandmarkRow(landmark: landmark)
  3. }
  4. }
  5. .navigationTitle("Landmarks")




セクション 1セクション 2セクション 3セクション 4
セクション 5セクション 6セクション 7セクション 8
セクション 101セクション 102セクション 103セクション 104
セクション 105セクション 106セクション 107セクション 108





目次
Xcode の新機能

フレームワーク

  • SwiftUI

  • ビューの作成と結合

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5

    セクション 6


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    セクション 106

    ビルドリストとナビゲーション

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5

    セクション 6

    セクション 7

    セクション 8


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    セクション 106

    セクション 107

    セクション 108

    ユーザー入力の処理

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5

    セクション 6


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    セクション 106

    パスとシェイプの描画

    セクション 1

    セクション 2

    セクション 3

    セクション 4


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    ビューと移行のアニメーション

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    複雑なインターフェースの構成

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    UI コントロールを扱う

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    UIKit とのインターフェース

    セクション 1

    セクション 2

    セクション 3

    セクション 4


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    watchOS アプリの作成

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    macOS アプリの作成

    セクション 1

    セクション 2

    セクション 3

    セクション 4

    セクション 5

    セクション 6

    セクション 7


    セクション 101

    セクション 102

    セクション 103

    セクション 104

    セクション 105

    セクション 106

    セクション 107