機能を追加していきます。参考サイトです。
タイマーの心臓部、class TimerManager:ObservableObject{}を編集していきます。
Pickerで選んだ時間をsecondsLeftに代入して使えるようにすること、その選んだ時間をUserDefaultsで記憶する命令を書いていきます。
@Published var secondsLeft = UserDefaults.standard.integer(forKey: "timerLength")
SwiftUIで行こう!- タイマーを作ろ! - 1
参考サイトをみながらタイマーを作ります。まず見た目から作っていきます。
新規プロジェクトを作り、タイマーのモードをまず決めるためのファイルを新規に作ります。タイマーの状態をenumで示してやります。
import Foundationenum TimerMode { case running case pause case initial}
画面構成はタイトルと残り秒数、ボタン、時間を選べるようします。以下の部品を使います。
NavigationView
UIKitとの連携方法です。画面遷移するためのUIPageViewController()をSwiftUIで使うために必要なことをやっていきます。
Create a View to Represent a UIPageViewController
UIKitのViewをSwiftUIで使う場合はUIViewControllerRepresentableプロトコルに準拠させることが必要です。
まず新規ファイルPageViewController.swift作り、UIView
SwiftUI Tutorials -Working with UI Controls
設定画面を作っていきます。
Display a User Profile
Profile.swiftという ファイルを作り、構造体Profileを作りプロパティを決めていきます。
struct Profile { var username: String var prefersNotifications = true var seasonalPhoto = Season.winter var goalDate = Date() static l
SwiftUI Tutorials - Composing Complex Interfaces
上部にランドマークを強調表示しながら、下部の方ではカテゴリー分けして表示できるようにします。
新しいSwiftUIファイルCategoryHome.swiftを作り構造体CategoryHome.を作ります。
var body: some View { NavigationView { Text("Hello, World!") .navigationTitle("Featured") } }