Instance Method インスタンスメソッド

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

Defines a group of views with synchronized geometry using an identifier and namespace that you provide. 同期された幾何学でのビューそれらからなるあるグループを定義します、あなたが提供する識別子と名前空間を使っています。

Declaration 宣言

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

Return Value 戻り値

A new view that defines an entry in the global database of views synchronizing their geometry. あるビュー、それは、それらの幾何学を同期しているビューそれらからなるグローバルデータベースにおいてある登録項目を定義するものです。

Parameters パラメータ

id

The identifier, often derived from the identifier of the data being displayed by the view. 識別子、たいていはビューによって表示されているデータの識別子から引き出されます。

namespace

The namespace in which defines the id. それにおいてidを定義する名前空間。 New namespaces are created by adding an @Namespace variable to a View type and reading its value in the view’s body method.

properties

The properties to copy from the source view. ソースビューからコピーすることになるプロパティ。

anchor

The relative location in the view used to produce its shared position value. ビューにおける相対位置、それの共有位置値を生成するのに使われます。

isSource

True if the view should be used as the source of geometry for other views in the group. true、もしビューがそのグループの中の他のビューに対して幾何学のソースとして使われるべきならば。

Discussion 議論

This method sets the geometry of each view in the group from the inserted view with isSource = true (known as the “source” view), updating the values marked by properties. このメソッドは、グループの中の各ビューの幾何学を、isSource = trueの状態で挿入されたビュー(“ソース” ビューとして知られるもの)から設定します、propertiesによって印された値を更新して。

If inserting a view in the same transaction that another view with the same key is removed, the system will interpolate their frame rectangles in window space to make it appear that there is a single view moving from its old position to its new position. The usual transition mechanisms define how each of the two views is rendered during the transition (e.g. fade in/out, scale, etc), the matchedGeometryEffect() modifier only arranges for the geometry of the views to be linked, not their rendering. あるビューを同じキーをもつ別のビューが取り除かれるのと同じ遷移において挿入するならば、システムはウインドウ空間の中のそれらフレーム矩形を改ざんして、それの古い位置からそれの新しい位置へと移動している単一のビューがあるように見せかけます。通常の遷移(トランジション)機構はどのように2つのビューのそれぞれが遷移の間に描出されるかを定義します(すなわち、はっきりしてくる/消えていく、拡大縮小、など)、matchedGeometryEffect()修飾子はビューの幾何学を手配してリンクされるようにするだけです、それらの描出はしません。

If the number of currently-inserted views in the group with isSource = true is not exactly one results are undefined, due to it not being clear which is the source view. グループの中にisSource = trueで現在挿入されるビューの数が正確に1つでないならば結果は未定義です、どれがソースビューであるかはっきりしないせいで。