ThemePicker在iOS Scrumdinger教程中不显示ThemeView颜色



我浏览了本课的完整版本,它也没有显示背景色。我想知道这是否与Swift/XCode 的不同版本有关

预期视图

项目中的实际视图

如果您使用最新版本的iOS,您可以在ThemePicker文件中尝试选择picker样式。这就是它在iOS 16.2 中的样子

var body: some View {
Picker("Theme", selection: $selection){
ForEach(Theme.allCases) { theme in
ThemeView(theme: theme)
.tag(theme)
}
}
.pickerStyle(.navigationLink)

这就是Picker在iOS16中的风格,您可以在iOS 15模拟器上尝试并看到预期的视图。

在Xcode 14.1.3测试版iO16中,添加了NavigationLinkPickerStyle,它具有iOS 16之前的行为。

你可以在这里看到详细的答案https://stackoverflow.com/a/73897344/1000846

我也一直面临这个问题。在iOS 16中,Picker的API似乎发生了变化。

为了完成教程和学习Swift,我安装了一个旧版本的iOS。一旦我完成了教程,我就可以找到如何升级我的代码以使用iOS 16。

转到窗口->设备和模拟器,并安装iOS 15.5。

在您安装了iOS 15.5之后,您将需要更改您的";最小部署";到项目文件中的iOS 15.5。

在将您的最低部署目标设置为iOS 15.5后,您可以在产品中选择iOS 15.5设备->目的地->iPhone 13 Pro(15.5(.

该教程现在应该可以在Xcode中的Swift UI预览以及设备模拟器中正常工作。

最新更新