問題タブ [swiftui-animation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
329 参照

swiftui - SwiftUI: スクロール中に LazyVGrid が更新されない

検索結果を表示する LazyVGrid があります。検索フィールドに文字を入力すると、CoreData フェッチ リクエストが実行され、@Publishedプロパティが更新されます。

問題:
LazyVGrid は、現在スクロールしている場合を除き、期待どおりに結果を更新します。この場合、スクロールが減速して終了するのを待ってから更新します。

比較のために、UIKit では UICollectionView を使用してそれを呼び出すことができ、.reloadData()スクロールするかどうかに関係なく、グリッドをすぐに更新します。

テスト目的で、次のことを試しましたが成功しませんでした。

  • .animation(nil)ビュー修飾子を追加
  • .id(UUID())ビュー修飾子を追加
  • ビューを更新したいときにaを更新@State var dummy = ""し、ビューの本文で使用します。Text(dummy)

以下は、このことがどのように機能するかを視覚化するのに役立つコードです

スクロールアニメーションの実行中にLazyVGridでコンテンツイベントを更新する方法はありますか? そうしないと、ユーザーにとって反応が鈍く感じられます。

0 投票する
1 に答える
143 参照

swift - 特定の値から新しい状態値への SwiftUI 状態の変化をアニメーション化するにはどうすればよいですか?

位置の状態が変化したときに位置をアニメーション化する長方形のビューがあります。これは、元のポイントから新しい状態値まで暗黙的にアニメーション化されます。

位置の状態が変わるたびに特定の位置からアニメーション化するにはどうすればよいですか。たとえば、元の位置ではなく (0.5, 0.5) から新しい位置の状態にアニメーション化したいと思います。これにより、ビューが位置 (0.5, 0.5) に表示され、新しい位置の状態にアニメーション化されます。

これはデフォルトのアニメーションです

ここに画像の説明を入力

これは私が適用したいアニメーションです

ここに画像の説明を入力