- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从今天发布的 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()
}
}
}
最佳答案
肯定发生了变化——这篇文章总结了它:https://swiftui-lab.com/geometryreader-bug/
GeometryReader 现在布局其内容的方式与以前不同。它曾经在父级中水平和垂直居中,但现在它与左上角对齐。
我的应用程序看起来很糟糕 - 令人沮丧的是,不清楚这是新行为并且是按设计的,还是它是否是一个错误并且将被修复。我正在尝试通过我的应用程序并手动应用偏移量,但使用 GeometryReader 的布局的动态特性意味着它并不总是那么容易。
关于iOS 14 已更改(或损坏?)SwiftUI GeometryReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63942247/
我想将 Web 应用程序转换为 iOS 应用程序,但我正在为对齐和 GeometryReader() 苦苦挣扎。 这是我原来的网络应用程序模板的截图: 这是我在 SwiftUI 中的当前版本: 使用相
我正在尝试做一些在我脑海中非常直接的事情。 我想要一个 VStack 的 subview 根据其内容动态更改其高度(下面示例中的 ProblematicView)。 它通常工作得很好,但在这种情况下,
我正在使用 GeometryReader确保图像永远不会超过屏幕宽度的一半。然而,它把我的其余观点搞乱了 GeometryReader请求 View 的完整高度/宽度(如带有绿色 BG 的图像所示)。
我有一个自定义 View : struct ImageContent: View { var body: some View { Image("smile")
你好吗? 请考虑以下代码: struct ContentView: View { var body: some View { NavigationView { G
我的布局基本上如下所示: ZStack(alignment: .bottom) { GeometryReader { geometry in ZStack {
下面的代码是创建一个自定义按钮 import SwiftUI let skyBlue = Color(red: 75/255, green: 170/255, blue: 193/255) struc
对于: struct ContentView: View { var body: some View { NavigationView {
我想知道 GeometryReader 是如何隐藏的,我有兴趣为学习目的构建一个自定义 GeometryReader! 坦率地说,我认为我们在 body 中使用的每个 View 都是一种 Geomet
我想在 VStack 之外使用 ScrollView,这样当 VStack 超出屏幕尺寸时我的内容可以滚动。现在我想在 VStack 中使用 GeometryReader,它会导致问题,我只能通过设置
我有一个固定宽度和高度的主 View ,因为这个 View 将被转换为 PDF。接下来,我有一组 subview ,它们将垂直堆叠在主 View 中。可能有更多的 subview 可以容纳在主 Vie
我正在构建一个带有卡片的网格,顶部有一个 ImageView ,底部有一些文本。这是该组件的 swift UI 代码: struct Main: View { var body: some V
是否可以使用 GeometryReader以这样的方式,它不只是填满父 View ? 作为一个具体的例子,我想使用 .padding(.bottom, geometry.safeAreaInsets.
我需要根据设备的尺寸和屏幕的宽度进行计算。 struct TranslatorView: View { @ObservedObject var settings = TranslationViewMo
我有一个标题 View ,它使用 edgesIgnoringSafeArea 将其背景扩展到状态栏下方。要正确对齐标题 View 的内容/ subview ,我需要来自 GeometryReade
我在 SwiftUI 中有一个水平 ScrollView ,我想将其“动态”居中。 ScrollView 中的内容将是一个动态图表,用户可以通过改变年份来改变它的宽度(5、10、15 年图表水平增长)
有人可以解释为什么:GeometryReader将其内容放置在左上角,而不是中心。GeometryReader占用所有可用空间。 struct ContentView: View { var
我有以下示例: import SwiftUI struct TestSO: View { @State var cards = [ Card(title: "short tit
我有一个叠加 View ,我希望它看起来紧贴其父 View 的顶部边缘(垂直对齐到顶部而不是中心,请参见快照 B)并且能够在点击时半隐藏它(将其向上移动以便它不会遮挡其父 View ,但仍有一部分可见
从今天发布的 iOS 14.0 开始,我的 iOS 代码在很大程度上依赖于 GeometryReader 进行布局,不再运行良好。即,布局是随机的。 在 Xcode 调试器中,我比较了在 iOS 13
我是一名优秀的程序员,十分优秀!