マガジンのカバー画像

Swiftでいこう!

584
楽しくプログラミング!Swiftはなんだか楽しい"ことば"です。
運営しているクリエイター

2021年2月の記事一覧

SwiftUI - 覚書2021/02。

Realmについて。 ForEach、contextMenuについては以下。 compactMapについては以下。 @Environment(\.presentationMode)については @StateObjectなどProperty Wrapperについて Timer publisher。 ボタンのカスタマイズ。

SwiftUIでいこう! - Animation Timer! 2

画面上で初期画面、ボタンを押すとアニメーションして画面の色を変え、押したボタンの数字を表示することができるようになりました。 続いて、タイマーの実装をやっていきます。ボタンを押すことでカウントダウンしていきます。 ZStack{}にかかる制御の命令を書いていきます。 .frame(maxWidth: .infinity,maxHeight: .infinity) .background(Color(.black).ignoresSafeArea(.all,edges:

SwiftUIでいこう! - Animation Timer! 1

ちょっと変わったアニメーションを使ったタイマーです。参考サイトをみながら組み上げていきます。 Xcode、プロジェクトを作って、最初からContentViewはありますが、別viewとしてHomeView.swiftという名前でSwiftUIファイルを作ってまず表示画面を作っていきます。 骨組みは以下のようになります。 var body: some View { VStack{ Spacer() ScrollView

SwiftUIでいこう! - RealmをSPMで使う。仕上げ。

に前回は基本的な部分は大事そうなところを抜き出して書きました。完成に近づけるために参考動画を見ながらもう少し機能をつけていきます。 データの削除、更新の機能をつけます。 その前に、データの追加部分から見てみます。ツールバーの"+"ボタンを押して AddPageView()を呼び出すことから始まります。 .toolbar{ ToolbarItem(placement: .navigationBarTrailing){

SwiftUIでいこう! - RealmをSPMで使う。

SPMでRealmを取り込みSWiftUIでデータベースを使ったメモ機能を実装します。参考サイトをみながらコードを書いてみます。基本的にCocoaPodsで導入して実装する方法と同じですがSPMだと使い方が簡単で間違えることはほぼないと思います。 XcodeのSPMで導入で必要なGitHubのRealmのサイトのURL(以下のURL)をXcodeのSPMに入力してライブラリを導入します。 CocoaPodsでインストールすることを考えると随分簡単に導入できます。 今回の

SwiftUIでいこう! - FirebaseをSPMで使う。

簡単にライブラリを使いたい!そこでXcodeの機能を使って簡単早く導入します。 Firebase Auth、ログインしてみます。 Xcodeの機能として最近備わった、Swift Package Managerを使ってライブラリを導入します。動画でも詳しく解説してあります。かなり簡単です。 firebase /firebase-ios-sdkのサイトアドレスを使って登録します。詳しくは以下。 使うライブラリにチェックを入れることを忘れずに!あとは import Fi

SwiftUIでいこう! - Search App! - 3

検索できるようになりました。最後の仕上げです。アートワークを表示させます。今のままだと こんな感じで写真は表示されません。これを写真が表示できるようにします。 新しいファイルを作って、class ArtworkLoader{}を作ります。URLSessionでデータを取り出します。 import Foundationimport SwiftUIclass ArtworkLoader{ private var dataTasks:[URLSessionDataTask

SwiftUIでいこう! - Search App! - 2

引き続き参考サイトを見ながらコードを書いていきます。 新しいファイルSonglListViewModel.swiftを作ってリストが表示できるViewを作っていきます。リストを作るためのモデルを作ります。 import SwiftUIimport Combine を宣言します。Combineを使います。 まず、リストを作るためのModelを定義します。 class SongViewModel:Identifiable,ObservableObject{ let

SwiftUIでいこう! - Search App! - 1

Jsonでデータを取得して、リストに表示します。検索ができるようのもします。以下参考サイト。 2つにViewを作っていきます。まず一つ目はSwitUIのみで組み上げます。 struct EmptyStateView:View{ var body: some View{ VStack{ Spacer() Image(systemName: "music.note") .font(.syste

SwiftUIでいこう! - @AppStorage

@AppStoregeです。UserDefaultのプロパティラッパー@AppStoregeを実際のアプリでの実装をやってみます。以下参考サイトです。 まず、変数宣言です。 @AppStorage("firstName") var firstName = "" @AppStorage("lasttName") var lastName = "" @AppStorage("isSub") var isSubs = false @AppStorageつけて宣言します。

SwiftUIで行こう!- @Binding。

@Bindingを考えます。 メインViewがありそこに別Viewとして組み込む場合に使う別Viewの機能を常時監視、実行できるようにするものです。 メインViewで何らかの操作をして別Viewで定義指定いる機能を実行させる場合に@Bindingをつけた変数を別Viewを実装しておくことで別ViewをメインViewに組み込み引数でメインViewのデータを渡した場合に有効となります。 別Viewの構造体の機能をメインViewでも使えるようにするためには別Viewの変数は@

SwiftUIで行こう!- ToDoアプリ。

参考サイトを見てコードを書いていきます。以下も参考にしました。 まずCoreDataを使えるようにしていきます。新規プロジェクトを作ります。CoreDataを使えるようにチェックボックスを入れて名前を入れて完成です。最初からたくさんContentView()に表示されていますが、それをまず消していきます。 次に必要なことを記述していきます。 @Environment(\.managedObjectContext) private var viewContext

SwiftUIで行こう!- Custom Timer! - 2

引き続き参考サイトを見ながらボタンなどの機能を実装していきます。 まず2つめの円を変数により見た目を変えていきたいので、今数字を書いているところを変数に変えます。 Circle() .trim(from: 0, to: 0.5) .stroke(Color.red.opacity(0.7),style: StrokeStyle(lineWidth: 35, lineCap: .square))

SwiftUIで行こう!- Custom Timer! - 1

バックグラウンドで動く、見た目にもみやすいタイマーを参考サイトをみながら作ります。 まず円を表示させます。色は黒。 ZStack{ Color.black.opacity(0.06).edgesIgnoringSafeArea(.all) ZStack{ Circle() }