我尝试使用
frame
来查看:
@main
struct i2ElevatorApp: App {
private var portraitSize : CGSize = CGSize(width: 400, height: 600)
private var landscapeSize : CGSize = CGSize(width: 600, height: 400)
private var landscapeSize2x : CGSize = CGSize(width: 800, height: 600)
let sharedState = SharedState()
var body: some Scene {
WindowGroup {
ContentView().environmentObject(sharedState)
}.defaultSize(portraitSize)
WindowGroup(id: "SubTransformationView", for: MyData.self) { data in
if let data = data.wrappedValue {
CardView(cardIndex: data.intValue, cardType: data.stringValue)
.environmentObject(sharedState)
} else {
EmptyView()
}
}
.defaultSize(portraitSize)
.frame(width: CGFloat(400 * (sharedState.aaa.count + 1)))
但是不起作用:
“某个场景”类型的值没有成员“框架”
您可以添加
.windowResizability(.contentSize)
来指示 WindowGroup 的大小及其内容
WindowGroup(id: "SubTransformationView", for: MyData.self) { data in
if let data = data.wrappedValue {
CardView(cardIndex: data.intValue, cardType: data.stringValue)
.environmentObject(sharedState)
.frame(width: CGFloat(400 * (sharedState.aaa.count + 1))) //<- here
} else {
EmptyView()
}
}
.defaultSize(portraitSize)
//.frame(width: CGFloat(400 * (sharedState.aaa.count + 1)))
.windowResizability(.contentSize) //<- here