此示例应用程序在 macOS 15.4 上运行时,打开和关闭侧边栏时会表现出奇怪的动画行为。
您需要做的就是删除该.frame(minWidth: 805, minHeight: 525)
行以修复它,但这意味着您无法限制窗口的大小。
我希望我的应用程序有一个最小尺寸,但这defaultSize()
行不通。
enum Page: String, Hashable {
case settings = "Settings"
case radio = "Radio"
case connect = "Connect"
var systemImageName: String {
switch self {
case .settings:
return "gear"
case .radio:
return "radio"
case .connect:
return "dot.radiowaves.right"
}
}
}
struct ContentView: View {
@State var pages = [Page.settings, Page.radio, Page.connect]
var body: some View {
NavigationSplitView {
List(pages, id: \.self) { page in
Label(page.rawValue.capitalized, systemImage: page.systemImageName)
}
} detail: {
Text("Content")
}
}
}
@main
struct NavigationTestsApp: App {
var body: some Scene {
Window("Navigation", id: "H") {
Group {
ContentView()
// Without this line this animation bug does not happen
.frame(minWidth: 805, minHeight: 525)
}
}
}
}
您可以将
frame
修饰符放在详细信息列的视图上。这不会导致错误发生。