相关疑难解决方法(0)

iOS 14 已更改(或损坏?)SwiftUI GeometryReader

从今天发布的 iOS 14.0 开始,我的 iOS 代码(严重依赖 GeometryReader 进行布局)不再运行良好。即,布局已经有点随机。

在 Xcode 调试器中,我比较了在 iOS 13.6 和 iOS 14.0 上运行的相同代码,发现问题在于 iOS 14.0 中未初始化 GeometryProxy 结构。

在变量 g 下方的示例代码中,GeometryProxy 在 iOS 13 中具有有效的宽度和高度值,但在 iOS 14 中全部为零。(这只是我对 GeometryProxy 值所做的更简单的使用之一——如果没有人,我将不胜感激指出一个明显的事实,这个片段可以通过另一种方式更容易地完成。)

这是对 GeometryReader 的更改还是错误?有人有解决方法吗?我是否在依赖 GeometryReader 进行动态布局时犯了一个巨大的错误?

struct TextView: View {
  @EnvironmentObject var data: RecorderData
  let m = MusicalNote()

  var body: some View {
      GeometryReader { g in
          Stack(alignment: .leading) {
              Text(self.data.curNote.getString())
                 .font(.system(size: g.size.height / 2.4))
                 .padding(.bottom)
              Text(self.data.fdata.fingerings[self.data.curRecorder.id] ![self.data.curNote.seq] ![self.data.curFingType] ![self.data.currentFingeringChoice].comment)
                 .font(.headline)
        }
      Spacer()
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui ios14

12
推荐指数
1
解决办法
2115
查看次数

标签 统计

ios ×1

ios14 ×1

swift ×1

swiftui ×1