看完SwiftUI的新增功能後,引起我注意的一個功能是matchGeometryEffect。 這是一個新的SwiftUI效果,可以在兩個視圖之間插入位置和大小。 讓我們看看我們能用它做什麼。
基礎知識
matchedGeometryEffect
使用您提供的標識符和名稱空間定義一組具有同步幾何的視圖。
func matchedGeometryEffect<ID>(id: ID, in namespace: Namespace.ID, properties: MatchedGeometryProperties= .frame, anchor: UnitPoint = .center, isSource: Bool = true) -> some View where ID : Hashable
使用教程
SwiftUI已經爲我們內插視圖的屬性,而無需matchGeometryEffect。 在下面的示例中,我們可以使用輕擊手勢爲矩形尺寸設置動畫。
struct ContentView: View {
@State private var isExpanded = false
var body: some View {
RoundedRectangle(cornerRadius: 10)
.foregroundColor(Color.pink)