元のドキュメント: developer.apple.com/documentation/swiftui/view/geometrygroup()


インスタンスメソッド


geometryGroup()


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


iOS 17.0+ iPadOS 17.0+ Mac Catalyst 17.0+ macOS 14.0+

tvOS 17.0+ visionOS 1.0+ watchOS 10.0+

nonisolated
func
geometryGroup() -> some View




議論


デフォルトでは、SwiftUI ビューは位置とサイズの変更をビュー階層を通じて下位にプッシュするため、何かを描画するビュー(リーフ ビューと呼ばれます)のみが現在のアニメーションをそれらのフレーム矩形に適用します。しかし、場合によっては、この統合動作によって望ましくない結果が生じることがあります。幾何 グループを挿入することで、これを修正できます。グループは親ビューとそのサブビュー間の障壁として機能し、位置とサイズの値を親ビューで解決してアニメーション化してから、各サブビューに渡すようにします。


以下の例は、この関数の使用例を示しています。スタック内の各行のメンバービューが、その祖先ビューからの単一の幾何学的変換を適用(およびアニメーション化)するようにすることで、祖先ビューの効果が各リーフビューに個別に適用されるのを防ぎます。ItemView のメンバーが異なるタイミングで追加および削除される可能性がある場合、このグループは、アニメーションが適用されてもメンバーが常に一緒に固定されるようにします。


VStack {
    ForEach(items) { item in
        ItemView(item: item)
            .geometryGroup()
    }
}

戻り値: その親ビューの幾何から分離された新しいビューの幾何。





以下も見よ


幾何の同期


func matchedGeometryEffect<ID>(id: ID, in: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: Bool) -> some View

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


struct MatchedGeometryProperties

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


protocol GeometryEffect

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


struct Namespace

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














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ