gpt4 book ai didi

ios - SwiftUI:如何获取设备的宽度?

转载 作者:行者123 更新时间:2023-11-29 11:25:50 25 4
gpt4 key购买 nike

我试图仅在 Text() View 的左侧和右侧添加填充。理想情况下,我想将它的宽度设置为设备的宽度减去我定义的常数。

例如:

Text("My text view here")
.frame(width: device.width - 16)

在 SwiftUI 中执行此操作的正确方法是什么?我是不是以错误的方式处理这个问题?

最佳答案

SwiftUI 标准方式

GeometryReader 是为您提供有关父 view

的所有信息的类型

因此您可以像这样使用 GeometryReader:

    var body: some View {
GeometryReader { geometry in
Text("My text view here")
.frame(width: geometry.size.width - 16)
.background(Color.red) // This is just to see how it looks like
}
}

UIKit 攻击方式

您可以直接从设备中获取它:

    var body: some View {
Text("My text view here")
.frame(width: UIScreen.main.bounds.width - 16)
.background(Color.red) // This is just to see how it looks like
}

请注意设备宽度是物理宽度,不会在旋转时更新。此外,我还没有亲自尝试过它,但我读过 UIScreenSplitView 上遇到问题。

关于ios - SwiftUI:如何获取设备的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58998685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com