SwiftUI

SwiftUI

【SwiftUI】静的 Home Screen Quick Actions(アプリアイコン長押しメニュー)

Home Screen Quick Actionsの実装方法についてです。 Home Screen Quick Actionsではアプリアイコンをロングタップする事で表示されるコンテキストメニューに項目を追加する事が出来ます。この項目から起...
SwiftUI

【SwiftUI】EnvironmentValueを追加する

SwiftUIではEnvironmentValuesが多数用意されており、Viewから@Environmentで参照する事が出来ます。 システムで設定された値を読み取ったり、設定した値が子Viewで読み取る事ができ非常に便利です。 今回はこ...
SwiftUI

【SwiftUI】Scene間のEnvironmentObjectの共有・専有(ObservedObject 、StateObject)

iPadOSなどでは1つのアプリで同時に複数のウィンドウを開くことが出来ます。このウィンドウ毎にSceneが割り当てられいています。Sceneが複数ある場合はEnvironmentObjectの扱いに気をつける必要があります。 Enviro...
SwiftUI

【SwiftUI】ScenePhaseの使い方とSceneDelegateとの比較

現在のSwiftUIの標準ではScenePhaseを使ってSceneの変化を検知します。SceneDelegateと比較すると随分シンプルになりました。 active、inactive、backgroundの動作確認をするようなコードで紹介...
SwiftUI

【SwiftUI】SceneDelegateを使う方法(2パターン)

SwiftUIでは2系からSceneDelegateが使用されなくなりました。しかし自分で追加することでSceneDelegateの使用は可能です。 調べるとおおよそ2パターン見受けられるのでまとめておきます。 共通部分 AppとScene...
SwiftUI

【SwiftUI】ScenePhaseでactiveが来ない場合がある

SwiftUIでアプリの状態の変化に使用するScenePhaseですが、起動時にonChangeにactiveで来ない場合がありました。 基本的にデバッガで起動した場合は毎回activeが来ていましたが、実機で終了と起動を繰り返しテストして...
SwiftUI

【SwiftUI】非操作時にホームバーを非表示にする方法(HomeIndicatorAutoHidden)

全画面をフルに使いたいアプリでは邪魔になりがちなホームバー(ホームインジケーター・HomeIndicator)ですが、現在はSwiftUIの標準機能としては非表示にする方法がありません。 従ってUIViewControllerのprefer...
SwiftUI

【SwiftUI】toolbar(keyboard)が表示されない

iOS15から使用できるkeyboardに表示するtoolbarは、他の位置とは異なり基本的にどこでも使用できます。しかし表示されないパターンがありましたのでメモを残しておきます。 表示不可のパターン SceneDelegateを使用しNa...
SwiftUI

【SwiftUI】toolbar(bottomBar)が空白として残る場合の対処法(暫定)

SwiftUIのtoolbarは基本的に画面遷移すると消えるのですが、NavigationLinkで遷移してもtoolbarのスペースが空白として残るケースに遭遇しました。 直接的な原因と解決法が分からなかった為、暫定的な解決方法を紹介しま...
SwiftUI

【SwiftUI】previewエラー active scheme does not build this file

SwiftUIでpreviewでエラーが出た際の対応方法です。 previewエラー 今回対象となるエラーは以下の通りです。 NoBuildableEntriesError: active scheme does not build thi...