問題タブ [uiviewrepresentable]

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 投票する
1 に答える
1759 参照

ios - UIViewRepresentable.updateUIView(_:context:) は、@State、@Binding、または @EnvironmentObject が変更されたときに呼び出されません

UIViewRepresentable.updateUIView は、このビューとその親ビューが依存する ObservableObject が変更されたときに呼び出されません。

バインディングとして MapView に渡される "@State var locationManager: LocationManager" を持つ GameView があります。MapView は UIViewRepresentable プロトコルに準拠しています。LocationManager は特に ObservableObject に準拠しており、次の準拠関連のコードがあります。

LocationManager.lastKnownLocation が変更されるたびに GameView とその結果として MapView を更新する必要があると思います。実際には、ホームボタンごとにアプリを終了したときに MapView.updateUIView() が呼び出されるのを見るだけです。この時点で、コントロールが updateUIView() に入り、(コンパイル-インストール-実行ではなく) アプリを再度開くと、更新が取得されます。これは、GameView() が提示された直後にも発生します。

SwiftUI がどのように機能するかについての私の理解は間違っていますか、それともバグですか? どうすれば正しくなりますか?

LocationManager.lastKnownLocation が変更されるたびに、 MapView.updateUIView() が呼び出されることを期待しています。実際には、ホームボタンごとにアプリを終了したとき(および再度入力したとき)にのみ呼び出しが発生します

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

svg - PocketSVG を使用して SVG 画像全体を SwiftUI に表示するにはどうすればよいですか?

私のソース コードは次のように非常に単純です。

しかし、次のように表示されます。 ここに画像の説明を入力

ビューが画面よりも大きいように見えます。

通常は次のようになります。 ここに画像の説明を入力

どうすればいいですか?ありがとうございました!