我有两个文本的水平堆栈(第二个以蓝色突出显示)。它非常适合 iPhone XR,但在较小的设备(如 iPhone X)上时,文本不适合。我试图通过使用 minimumScaleFactor 来缩放文本来解决这个问题。然而,SwiftUI 似乎决定在堆栈中扩展什么。在此示例中,在较小的设备上,它会删除粗体并仅缩小第一个(非蓝色)元素。蓝色元素保持不变。关于为什么会发生这种情况的任何想法?如何一起缩小粗体文本元素的大小?谢谢!
var normalText: String
var highlightedText: String
var body: some View {
HStack() {
Text(normalText)
.font(.largeTitle)
.bold()
.lineLimit(1)
Text(highlightedText)
.font(.largeTitle)
.bold()
.lineLimit(1)
.foregroundColor(.blue)
Spacer()
}
.minimumScaleFactor(0.5)
}
}
Run Code Online (Sandbox Code Playgroud)
struct ContentView: View {
var normalText: String = "Hello and Welcome to Stack "
var highlightedText: String = "Overflow"
var body: some View {
HStack() {
Group {
Text(normalText).bold() +
Text(highlightedText).bold()
.foregroundColor(.blue)
}
.lineLimit(1).font(.largeTitle)
Spacer()
}
.minimumScaleFactor(0.5)
}
}
Run Code Online (Sandbox Code Playgroud)
+是为 2 个文本定义的,但不是为 2 个视图定义的,并且 aslineLimit()返回需要对连接的文本进行分组的视图。我将组合的绳子加长以迫使其收缩。
| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |