【问题标题】:How can justify text in Swift UI?如何在 Swiftui 中证明文本的合理性?
【发布时间】:2021-07-16 16:04:48
【问题描述】:

我是 Swift UI 的新手。我一直在使用故事板。我被困在 swiftUI 的一个地方。你们中的一位能否解释一下如何在 swiftUI 中证明文本的合理性?我提到了几个链接,但它们没有多大帮助。

SwiftUI: Justify Text

请帮忙!我被困在这非常糟糕

【问题讨论】:

  • 遇到的其他链接看不懂怎么办?您能否分享您的代码示例,您在其中尝试了某些东西并得到了与您预期不同的结果?

标签: user-interface text swiftui text-alignment text-justify


【解决方案1】:

关于 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 不同。尝试所有不同的修改对齐方式。它会随着时间的推移自然而然地出现,我会说一周左右。

提示

文本视图只占用堆栈中所需的空间。堆栈将仅与该轴上的最大元素一样宽或高。例如,VStack 内部的 Text("A")Text("ABCDEFG") 将具有第二个的宽度和两者的高度。在使用视图时,您应该牢记这一点。有一些方法可以使用 GeometryReader.frame(...) 修饰符将堆栈设置为不同的宽度/高度。我将省略这些答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    相关资源
    最近更新 更多