【问题标题】:How to change the alignment of a view without changing its width or height如何更改视图的对齐方式而不更改其宽度或高度
【发布时间】:2020-10-27 04:22:13
【问题描述】:

我正在尝试调整 SwiftUI 中 Text 视图的对齐方式。虽然我不想使用 .frame 修饰符来调整它的宽度或高度。我正在寻找这样的东西:

struct ContentView: View {
    var body: some View {
        Text("Hello World!")
            .frame(alignment: .leading) // builds and runs, yet doesn't change alignment
    }
}

有什么建议吗?谢谢!

【问题讨论】:

  • 文本的父视图应该决定放置它的位置(或如何对齐)。也就是说, .frame 修饰符不会改变文本本身的宽度。它将它嵌入到一个容器中,然后容器可以决定如何对齐你的文本。请向我们展示您的文本所在的上下文。或者解释为什么您不想将文本嵌入到根据对齐方式布置文本的框架中。

标签: swift swiftui alignment modifier


【解决方案1】:

.frame(alignment: .leading)自己的 框架内领先,因此它是对齐的,但框架默认紧贴内容,并且默认位于父容器的中心,因此您看不到任何更改。

为了得到你想要达到的(我假设)它应该是

Text("Hello World!") // text view
    .frame(maxWidth: .infinity, alignment: .leading) // alignment view

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多