我是 Swift UI 的新手。我一直在使用故事板。我被困在 swiftUI 的一个地方。你们中的一位能否解释一下如何在 swiftUI 中证明文本的合理性?我提到了几个链接,但它们没有多大帮助。
请帮忙!我被困在这非常糟糕
我是 Swift UI 的新手。我一直在使用故事板。我被困在 swiftUI 的一个地方。你们中的一位能否解释一下如何在 swiftUI 中证明文本的合理性?我提到了几个链接,但它们没有多大帮助。
请帮忙!我被困在这非常糟糕
关于 swift 需要记住的重要一点是,视图通常以堆栈形式排列,主要是 V 和 H 堆栈。您可以使用这些堆栈随意移动文本。现在,您可能遇到的一个常见问题是堆栈没有您期望的那么宽,您可以使用诸如minimumFontScale
和其他的修饰符来修复它。为了便于解释,我将向您展示用于根据需要对齐文本的常见结构。
VStack {
Spacer() // Disable for Top Left/Right
HStack {
Spacer() //Disable for Left Align
Text("Test")
Spacer() //Disable for Right Align
}
Spacer() // Disable for Bottom Left/Right
}
请注意VStack
有两个垫片使嵌套的HStack
. 然后HStack
有垫片与视图的左侧或右侧对齐。
HStack {
Spacer() //Disable for Left, Top/Bottom
VStack {
Spacer() //Disable for Top Align
Text("Test")
Spacer() //Disable for Bottom Align
}
Spacer() //Disable for Right, Top/Bottom
}
这一个将文本放在中间,并允许您上下移动它。您应该能够查看这些结构并了解如何操纵它来移动您的视图。
VStack(alignment: .leading) {} //Leading and Trailing alignments.
HStack(alignment: .top) {} //Top and Bottom alignments.
//A Modifier directly on the view, where you could get the width
//and height from anything you want. Alignments could be.
// .leading, .trailing, .bottom, .top, .topleading, .topTrailing
// .bottomLeading, .bottomTrailing
Text("YourText").frame(width: 300, height: 300, alignment: .topLeading)
使用这些类型的修饰符可以设置您的视图,使其比上述解决方案更干净,并且在处理可能具有组/部分的复杂 UI 时变得特别有用。嵌套堆栈的修饰符可以添加到其父堆栈修饰符中。为您找到解决方案的最佳方式可能与其他人的 UI 不同。尝试所有不同的修改对齐方式。它会随着时间的推移自然而然地出现,我会说一周左右。
文本视图只占用堆栈中所需的空间量。堆栈将仅与该轴上的最大元素一样宽或高。例如 aText("A")
和a 的Text("ABCDEFG")
内部VStack
将具有第二个的宽度和两者的高度。在使用视图时,您应该牢记这一点。有多种方法可以使用GeometryReader
和.frame(...)
修饰符将堆栈设置为不同的宽度/高度。我将省略这些答案。