微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Swift UI 中对齐文本? 水平对齐,视图中心垂直对齐,视图中心其他操作对齐方式提示

如何解决如何在 Swift UI 中对齐文本? 水平对齐,视图中心垂直对齐,视图中心其他操作对齐方式提示

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

SwiftUI: Justify Text

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

解决方法

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

提示

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。