AndyDentFree / AndyDentFree/SpriteKittenly

ResizingRemit needs sample with GeometryReader

未关闭
#4 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Swift
星标
8
派生
0
PR 合并指标
30 天内没有已合并 PR

描述

Alternative that I explored using a GeometryReader should be added on another tab, with copies of classes alongside.

Relevant code below, needs rewrite to apply the technique to ResizingRemit

## Snippet (from old Purrticles code)

```

struct MainDocWindow: View {
...
@State private var previewSize = CGSize.zero
...
VStack(spacing: 0) {
GeometryReader { previewGeom in
PreviewView(document: $document)
.padding(showFullScreen ? [] : .horizontal)
#if os(macOS)
// impossible to get here
.frame(width: geometry.size.width, height: geometry.size.height * min(previewRatio, 0.33))
#else
.frame(width: showFullScreen ? UIScreen.main.bounds.width : outerGeom.size.width,
height: showFullScreen ? UIScreen.main.bounds.height : outerGeom.size.height * min(previewRatio, 0.33))
#endif
.animation(.easeInOut(duration: 0.5), value: showFullScreen)
.onAppear {
previewSize = previewGeom.size
}
.onChange(of: previewGeom.size) { newSize in
guard previewSize.height != 0 else {return} // don't react to initial set
print(".onChange(of: previewGeom.size) Changed preview from (\(previewSize.width), \(previewSize.height)) to \(newSize)")
previewSize = newSize
document.previewResized(to: newSize)
}
}
```

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。