新しいメモを作成する動線を作成

ソースコード:MyColorMemoAppSwiftUI

import SwiftUI
import RealmSwift

struct HomeView: View {
  @ObservedResults(MemoDataModel.self) var memoDataList
  
  var body: some View {
        NavigationStack {
            VStack {
                memoList
                // Spacerを下に入れることで、メモ一覧を上に詰めるように表示させる
                Spacer()
            }
            // NavigationBarに設置するボタンなどを定義
            .toolbar {
                // 右上:新規メモ作成
                ToolbarItem(placement: .navigationBarTrailing) {
                    memoCreateLinkButton
                }
            }
        }
    }
    
    /// メモ一覧.
    var memoList: some View {
        List {
            ForEach(memoDataList, id: \.self) { memo in
                // NavigationLinkは画面遷移を行うViewです
                // タップでdestinationに記載したViewへNavigation遷移
                NavigationLink(
                    // 画面遷移する際にタップしたセルのMemoDataを渡す
                    destination:
                        MemoDetailView(memoData: memo)
                ) {
                    memoCell(memo)
                }
            }
        }
        .listStyle(.plain)
    }
    
    /// メモ作成ボタン.
    var memoCreateLinkButton: some View {
        // NavigationLinkはTextだけでなく画像やViewでも設定できる
        NavigationLink(
            // onAppearで生成した新しいMemoDataを渡す
            destination:
                MemoDetailView(memoData: MemoDataModel())
        ) {
            Image(systemName: "plus")
        }
    }
}

  • ユーザー名:
  • 受講プラン:
  • 完了ステータス:未完了
cta_img

受講申し込みはこちらから

まずは受講用アカウントの作成からスタート。
iOSアカデミアの受講に必要な各種情報を記載した、ご案内メールをお届けします。

受講申し込み