AndyDentFree / AndyDentFree/SpriteKittenly

ResizingRemit needs sample with GeometryReader

オープン
#4 コメント 0 件 リアクション 0 件 担当者 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 を短くまとめたダイジェスト。