SwiftUI

【SwiftUI】onChangeがiOS17で変更前の値(oldValue)が使い易く

変更内容 iOS17以降でonChangeに追加が入りました。 public func onChange<V>(of value: V, initial: Bool = false, _ action: @escaping (_ oldVa...
SwiftUI

【SwiftUI】InteractiveWidgetでアプリ側のCoreData(SwiftData)が更新されない(iOS17)

iOS17からInteractiveWidgetとしてWidgetでButtonとToggleが使用可能になりました。使い方については別途紹介する予定ですが、今回はCoreDataの値が更新されない問題があったので、そちらについて書いていき...
未分類

iPhone予約戦争の話

お久しぶりです。諸事情により暫く更新停止状態でしたが、iPhone予約戦争に敗北した話を消化する為に久しぶりの更新です。 9月15日21時、iPhoneの予約に臨みましたが全く予約画面に進めないまま10分経過、PCは相変わらずダメでしたがi...
未分類

外部送信規律への対応

2023年6月16日より施行される改正電気通信事業法に外部送信規律というものがあります。 これはWebサイトで収集したユーザー情報を外部へ送信する場合、ユーザーへの通知、同意、オプトアウトのいずれかが必要といったものです。 本記事の概要 2...
Swift

【Swift】swiftからChatGPT APIを使ってみる

ここ暫く話題になっているChatGPTですが、3月1日にAPIが公開されました。元々OpenAI APIがあり、そこにChatGPTのAPIが追加された形になります。今回はswiftからこのChatGPT APIを使ってみます。 前書き 今...
SwiftUI

【SwiftUI】sheetをpresentationDetentsでハーフモーダルにする(iOS16)※セミモーダル、ボトムシート

SwiftUIでsheetをハーフモーダルにする方法について紹介します。 UIKitには先行してiOS15からUISheetPresentationControllerが実装されていましたが、SwiftUIではiOS16でpresentat...
SwiftUI

【SwiftUI】onLongPressGestureを離した時に実行する

SwiftUI長押しを実装する際にonLongPressGestureやLongPressGestureを使用します。これは通常、指定した時間長押しすると手を離さずとも実行されます。 今回はこれを手を離したタイミングで実行する方法を紹介しま...
SwiftUI

【SwiftUI】GeometryReader内で@AppStorageが再描画されない場合の対処法

GeometryReader下で@AppStorageでマークした変数を使用して描画を行なっていても、変数の変化により再描画されない場合があります。 こういった場合はGeometryReaderを別のViewに分ける事で解決します。 @St...
SwiftUI

【SwiftUI】List(PlainListStyle)配下のsheetでFormの背景が白くなる(iOS16)

PlainListStyleのList配下のFormで背景が白くなる場合がありました。iOS16から発生しています。同じコードでもiOS15では発生しませんでした。 どうやらlistStyleにplainを指定しているとsheet内のFor...
SwiftUI

【SwiftUI】iOSでDropDelegateのdropEnteredでloadObjectやloadItemが動作しない

DropDelegateについて SwiftUIでDrag&Dropを実装する際、簡単な内容であればonDragとonDropで実装できます。 しかし、細かい動作を指定したい場合はDropDelegateを使用します。中でもドラッグしたまま...