- 運営しているクリエイター
2020年7月の記事一覧
SwiftUIでいこう! - Stopwatchを作る。2
StopWatchManeger.swiftファイルを編集していきます。
class StopWatchManeger:ObservableObject{}に
"enum"でstart,stop,pauseの設定を作ります。
enum stopWatchMode{ case start case stop case pause}
次に今作った"stopW
SwiftUIでいこう! - Stopwatchを作る。
早速コードを書いていきます。
import SwiftUIstruct ContentView: View { var body: some View { VStack { Text("0.0") .font(.custom("Futura", size: 50)) .padding(.top,200)
New SwiftUI - Property Wrappers-その他のもの。
@StateObject
@ObservedObjectの不具合を改良したもの、
を参考に一部抜き出しますが、
ローカルの状態を保持したい時に
これまで@ObservedObjectを利用しようとしていたところで
@StateObjectを利用するのが良いのではないかと思います。
他からイニシャライザを経由して利用するような場合はこれまで通り@ObservedObjectを利用することでよ
New SwiftUI - Property Wrappers-@AppStorage
まずProperty Wrappers全体のおさらいです。まとめていただいているので参考に。
@AppStorageです。これかなり便利です。key-value data を保存するものです。UserDefaultsを使う保存方法のSWiftUI版となります。
Property Wrappersを自分で定義して使うようになっていましたが、今回のアップデータで@AppStorageというのができ
New SwiftUI -- Lazy Grids and Stacks
LazyVGridとLazyVStackです。GridとStack同じような動きをしますが、以下サイトで違いを調べられて、解説されています。
New SwiftUI! - ScrollViewReader
ある特定の場所まで自動でスクロールさせるものです。公式のドキュメントです。
日本語では以下の記事が良さそうです。
ScrollViewReaderのclosureで返ってきてるvalueの型はScrollViewProxyです。
ScrollViewProxyはscrollToという関数を持っています。
func scrollTo<ID>(ID, anchor: UnitPoint?)
実際
New SwiftUI! - ColorPicker
ColorPicker()を実装してみます。
struct ContentView: View { @State private var color = Color.white var body: some View { ColorPicker("pick a color", selection: $color) }}
これを実行すると、
こちらのコードは以下とな
SwiftUIでいこう! - 時計を作る。
WWDC20を追いかけていますが、今回は今のSwiftUIです。
時計のアナログ時計の作り方を紹介されているのを見つけたので、ちょっとやってみます。
まずは時間を取得しないといけません。
@State var hour = Calendar.current.component(.hour, from: Date())
これで、今の時間が変数"hour"に入っていきます。
struct C
New SwiftUI! - Mapkit
新しい"MapKit"です。前までは、構造体を別に作ってそれを"ContentView"に入れ込む形で実装していましたが、これからはフレームワークで対応されることになりました。動画で紹介されていて、10分ぐらいからMapが紹介されています。
まず
import MapKit
です。そして変数宣言です。表示したい地図の緯度、経度を調べます。Google Mapでも調べることができますが、ここで
New SwiftUI! - LazyVGrid
グリッドレイアウトです。綺麗に並びます。
アップルの紹介動画
ほか、紹介サイトです。
自分でも上記サイトを参考に書いてみます。
まず並べたいものを作ります。配列で作ります。
private var symbols = ["keyboard", "hifispeaker.fill", "printer.fill", "tv.fill", "desktopcomputer", "headph
New SwiftUI! - ProgressView
いわゆる"progress bar"、何かしら実行、処理中にその状況を知らせるためのインジケータです。まずは処理中を示す"Loawding"を表示のみさせます。
struct ContentView: View { var body: some View { ProgressView("Loawding") }}
実行結果です。
ProgressView("Loawdin