lp1*_*756 12 ios swift swiftui ios14
从今天发布的 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)
小智 8
它肯定改变了 - 这篇文章总结了它:https : //swiftui-lab.com/geometryreader-bug/
GeometryReader 现在的内容布局与过去不同。它曾经在父级中水平和垂直居中,但现在将其与左上角对齐。
我的应用程序看起来很糟糕 - 令人沮丧的是不清楚这是否是新行为和设计的那样,或者它是否是一个错误并将被修复。我正在尝试通过我的应用程序并手动应用偏移量,但使用 GeometryReader 的布局的动态特性意味着它并不总是那么容易。
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |