SwiftUI @Binding 在子视图中如何观察来自父级的更改(又名 didSet)

Mic*_*bro 5 binding didset swiftui

我想在子视图中观察@Binding属性的变化。但是没有调用 didSet/willSet (仅当我从当前视图更改此变量时才调用它,但如果更改来自外部视图,则不会执行此处理程序)

我想在什么时候执行一些代码

 @Binding var selectedElement: Int
Run Code Online (Sandbox Code Playgroud)

从父视图更改。

然后我想重新计算 xOffset 状态属性

 @State var xOffset: CGFloat = 0
Run Code Online (Sandbox Code Playgroud)

计算应该增加当前的 xOffset 值,如:

self.xOffset += self.contentSize.width/2 - (self.rects[i].minX + self.rects[i].width/2)
Run Code Online (Sandbox Code Playgroud)

但是我堆在这个地方。