SwiftUI iOS 14.2 Beta,中型和大型主屏幕小部件中的文本消失了吗?

问题描述

还有其他人注意到文本从中型和大型窗口小部件消失了吗?小部件尺寸可以正常工作。

我在商店中有一个应用程序,一直在等待iOS更新来解决iOS 14.0.1上闪烁的窗口小部件问题。我尝试了Xcode beta,看看14.2 beta是否解决了闪烁的问题,看起来确实如此,但是现在我看到了一个问题,即文本显示了瞬间,然后逐渐消失以变得完全透明。如果您在主屏幕上向左或向右滑动另一个页面,然后向后滑动,则文本会再次显示一秒钟,然后再次消失。

还有其他人注意到这个问题吗?

这是一个视频片段,显示我要描述的内容。我将其设置为在其顶部显示一个中型窗口小部件,在其下方显示一个中型窗口小部件,因此您可以看到该问题似乎并未影响该中型窗口小部件,并且您可以了解该中型窗口小部件的外观喜欢。 https://youtu.be/h8szHHXavNo

解决方法

我进行了一些测试,发现它与文本大小以及您选择的模拟器/预览设备有关……

在Xcode 12.2 beta 2中启动一个新的SwiftUI项目 添加小部件扩展 将小部件视图主体中的文本设置为48,例如:

var body: some View {
    Text(entry.date,style: .time)
        .font(.system(size: 48))
}

如果您查看设置为iPhone 11 Pro Max的预览,则预览将在小部件上不显示任何文本。

如果您查看设置为iPod touch(第7代)的预览,则文本将在小部件上显示得很好……

要证明文本不是太大而无法容纳在小部件上,可以将其更改为:

var body: some View {
    Text("T")
        .font(.system(size: 48))
}

它仍将显示在iPod touch上,但不会显示在iPhone 11 Pro Max上

此外,如果您将文字大小设为47,则突然间它会同时显示在iPhone 11 Pro Max和iPod touch预览中……

很明显,小部件上的文本大于47的问题…

我希望这只是模拟器中的一个问题。我没有备用设备来安装Beta预览。