Gleamier

めも

メッセージは文字、一日回まで / 管理人のみに送信されます
現在文字数 0文字

タグ「SwiftUI」を含む投稿16件]

ウィジェットにボタンを追加して、カウントする機能も追加できた。
選択したカウンターの数値を変えるというのがなかなかできなくて苦戦した。
Bindingでよく使われる"$"をconfiguration.$counterという感じでつけて、ウィジェットのボタンからAppIntentに設定したParameterに渡してperform()で利用。
こういうのって公式のドキュメントとか定義とか見たらわかるもんなのか…?
#アプリ開発 #SwiftUI

つぶやき

結局〜、iOS17.4未満ではSiri Intentを使って、iOS17.4以降ではApp Intentsを使ってウィジェットを実装したase1-emo
労力2.4倍って感じだった。
Core Dataを使うっていうのがなかなかのネックで、表示されない原因がどこにあるのかよくわからなくて…
同じコードでもiOS17.0だと読み込みに失敗したりもしたし、App Intentsは単純に新しくて情報不足だし、大変。

Chekrica REのときはリリース済みだったこともあって、Core DataからJSONに書き出してるけど、それはそれでエンティティのクラスをCodableに準拠させる必要があって、なんか大変だった記憶だけがある。
今そのコード見てもよくわからんもんwww
#アプリ開発 #SwiftUI

つぶやき

App Intentsの実装してるけど、なんかいろいろ必要でややこしい!エラーがいつまでもなくなんない!
やっとEntityQueryまでたどり着いた…
ここからどうすりゃいいんだ…
#SwiftUI #アプリ開発

つぶやき

ウィジェットにインタラクティブ性を持たせるには結局App Intentsを使うようなので、iOS17以上対応ってことにしちゃった。
他でOSによって条件分岐してたところも修正。
まあ、弱小開発者かつ新規アプリだからまったく問題ないよねえ…ase3-emo
#アプリ開発 #SwiftUI

つぶやき

Widget用のファイルを追加して、"Include Configuration App Intent"にチェックを入れたのに、intentdefinitionファイルが見当たらない…?
と思ってたらApp Intentsというフレームワークに変わったみたい。
ざっと見た感じ、全部コードでやれるっぽい。
そういえば、多言語対応も"Localizable.xcstrings"が生成されるようになってたし、新規で作るたびに毎回いろいろ変わるなあ。
#アプリ開発 #SwiftUI

つぶやき

そういえば、シートの背景を操作できない(モーダル)ときは、背景にあるボタンの色がグレーになるので、それも操作ができなくなっていることを示している。
#アプリ開発 #SwiftUI

つぶやき

SwiftUIのSheet(下からニュッと出る画面)はモディファイアによって動作をいろいろ変えられるんだけど、presentationBackgroundInteraction(.enabled)とすると、シートの後ろにある画面も操作できるようになるんだよね。
いわゆるモードレス?

今、そうやって後ろの画面を操作できるタイプ・操作できないタイプの両方とも使っているけれど、操作できる方は後ろの画面が暗くならないのに対して、できない方は暗くなる。
そういう仕様になっているみたい。
後ろの画面を暗くすることで、操作できないことを表現しているわけで、こういうのってさりげなく見えるけど大切。
自力実装するときは極力合わせたい。
#アプリ開発 #SwiftUI

つぶやき

Core Data relationship not updating
たぶん似たような感じで、NavigationLinkの遷移先だとビューが更新されなくて困った。
(Sheetを使って同じエンティティを操作したときは更新されたのに…)
遷移先でFetchRequestを使うと動くので、モヤモヤしつつそれでいいやーってmuh-emo
#アプリ開発 #SwiftUI

つぶやき

なんか同じ処理をしているようでも、別の箇所だとアニメーションしなくてwithAnimationつけると動いたりするんだよなー。
んー……構造が複雑化してきて把握しきれてないかも。
#アプリ開発 #SwiftUI

つぶやき

・タブビューのページスタイル(横スワイプでページ切り替え)にTextField
・TextFieldがフォーカスされたとき、ソフトウェアキーボードが出てくると同時にテキストフィールドの位置も上に移動する(仕様)
・だけどキーボードのすぐ上に移動するので、TextFieldをタップしようとするとページ切り替えのインジケーターが反応してしまい、ページが切り替わってしまう
・インジケーターを非表示にしても反応する
・いろいろ試したけどスワイプ無効も難しそう

という訳で、フォーカス時にテキストフィールドの位置をもっと上に移動させることに。
余白を追加するとは言っても、普通にpaddingを追加してもうまくいかない。
調べてみたら、safeAreaPaddingという新しいモディファイアがあっていい感じに動いた…んだけどiOS17以上かー!!
もうちょっと調べてみて、safeAreaInset(edge: .bottom)の中にColor.clearの高さを指定してスペースを確保ということでとりあえず解決?

ブログ用にコード書くのめんどいからメモだけ〜ase2-emo
#アプリ開発 #SwiftUI

つぶやき

カスタムフォントを入れるときにやりがちなミス
・Targetのチェックを入れていない
・Info.plistにフォント名を追加していない
・Info.plistにフォント名を追加したけど拡張子を書いていない
・フォント名を指定するときにファイル名そのまま書いちゃう
まだ一度でうまくいったことない…
#アプリ開発 #SwiftUI

つぶやき

というか1から2、2から3あたりの変化がきつすぎたkigou1-ase1
iOSのバージョンを上げるとデザインが変わる挙動も変わる、NavigationViewが思ったように動かない、困ったどうしようみたいな…
Chekrica REは今作り直したらけっこう変わりそう。やらないけど。
#アプリ開発 #SwiftUI

つぶやき

SwiftUI、初期の頃に比べるとだいぶ痒いところに手が届く感じになってきたなーって思う。
Deprecated多いけどnaku2-emo
#SwiftUI

つぶやき

試しにアプリのレイアウトや動きを先に作ってるんだけど、いつもアニメーションに手こずってる気がする…
妙な動きを残すよりはアニメーションを切っちゃった方が違和感ないと思うんだけど、できればいい感じにアニメーションしてほしいし。
#アプリ開発 #SwiftUI

つぶやき

ForEachで作ったグリッドのセルを、onDrag・onDropで並び替えてCore Dataで保存して、更にコンテキストメニューと両立させるってのを試してた。ドラッグもコンテキストメニューも長押しで発動するから並び替えモードを用意したんだけど、それがめんどいというかちょっと大変で。アニメーションもなかなか狙った動きにならないし。試行錯誤してなんとか満足できる形になった。
ListだとonMoveで並び替えできるけど、レイアウトの制約があるのがね…
#アプリ開発 #SwiftUI

つぶやき

ドロワーメニューに使っているSF Symbolsのサイズ指定方法を変えた。
.font(.system(size: menu.iconSize))
って感じで、メニューごとにいちいちサイズを変えて横幅調整してたんだけど、frame修飾子で横幅指定すれば揃うよねw
(この場合resizableとscaledToFitもつける)
#SwiftUI #アプリ開発
20231006145641-pica.png

つぶやき