元のドキュメント: developer.apple.com/documentation/swiftui/view/matchedgeometryeffect(id:in:properties:anchor:issource:)


インスタンスメソッド


matchedGeometryEffect(id:in:properties:
anchor:isSource:)


あなたの提供した識別子と名前空間を使用して、同期された幾何を持つビューのグループを定義します。


iOS 14.0+ iPadOS 14.0+ Mac Catalyst 14.0+ macOS 11.0+

tvOS 14.0+ visionOS 1.0+ watchOS 7.0+

nonisolated
func
matchedGeometryEffect<ID>(
id: ID,
in namespace: Namespace.ID,
properties: MatchedGeometryProperties = .frame,
anchor: UnitPoint = .center,
isSource: Bool = true
) -> some View where ID : Hashable




パラメータ


id

多くの場合、ビューによって表示されるデータの識別子から派生する識別子。


namespace

id を定義する名前空間。新しい名前空間は、View 型に @Namespace 変数を追加し、その値をビューの body メソッドで読み取ることで作成されます。


properties

ソースビューからコピーすべきプロパティ。


anchor

その共有位置の値を生成するために使用される、ビュー内での相対的な位置。


isSource

そのビューをグループ内の他のビューの幾何のソースとして使用すべき場合は、true です。



戻り値


ビューの幾何を同期させるビューのグローバルデータベースにエントリを定義する新しいビュー。



議論


このメソッドは、isSource = true に設定された挿入済みビュー(「ソース」ビューと呼ばれます)から、グループ内の各ビューの幾何を設定し、properties でマークされた値を更新します。


同じキーを持つ別のビューが削除された同じ処理内でビューを挿入する場合、システムはウィンドウ空間内でフレーム矩形を補間し、単一のビューが元の位置から新しい位置へ移動しているように見せます。通常の遷移メカニズムは、遷移中に 2 つのビューがどのようにレンダリングされるか(つまりフェードイン/フェードアウト、拡大縮小など)を定義しますが、matchedGeometryEffect() モディファイアはビューの幾何をリンクさせるだけで、レンダリングは行いません。


isSource = true に設定されたグループ内に現在挿入されているビューの数が正確に 1 つでない場合、どのビューがソースビューであるかが明確でないため、結果は未定義となります。





以下も見よ


幾何の同期


struct MatchedGeometryProperties

View.matchedGeometryEffect() 関数を使用してビューの間で同期できるビュープロパティのセット。


protocol GeometryEffect

ビューの視覚的な外観を変化させる効果であり、そのビューの祖先や子孫にはほとんど影響を与えません。


struct Namespace

プロパティを含むオブジェクト(すなわちビューなど)の永続的な識別子によって定義される名前空間へのアクセスを可能にする、動的なプロパティ型。


func geometryGroup() -> some View

ビューの幾何形状(位置やサイズなど)をその親ビューから分離します。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ