将文本与 NavigationLink 内的前导对齐在 SwiftUI 中不起作用

问题描述 投票:0回答:2

尝试在

leading
内将文本与 SwiftUI 中视图的
NavigationLink
对齐不起作用,但如果我没有使用
NavigationLink
,则工作正常。

import SwiftUI

struct Test: View {
    
    var body: some View {
        NavigationView {
            NavigationLink {
                Text("fsdf")
            } label: {
                VStack(alignment: .leading) {
                    Text("sdfsdlfjskfjsd sdflkjsdf sf sljdflsdkf asfjslkdfj sdfjlskfj sdfjldksfj asdfvfvf fvfvf fvfvl,v vfvl")

                        .frame(maxWidth: .infinity,alignment:.leading)
                }
                .frame(width: 300,height: 100)
                .background(Color.yellow)
                .overlay {
                    // ...
                } 
            }
        }
    }
}

这是现在的输出:

我需要如下输出:

我的最终目标是在单击整个视图时我需要导航到下一个视图。

ios swift swiftui alignment
2个回答
2
投票

使用文本修改器

.multilineTextAlignment(.leading)

struct Test: View {
    
    var body: some View {
        NavigationView {
            NavigationLink {
                
            } label: {
                
                    // Your code
                
                    Text("sdfsdlfjskfjsd sdflkjsdf sf sljdflsdkf asfjslkdfj sdfjlskfj sdfjldksfj asdfvfvf fvfvf fvfvl,v vfvl")
                        .multilineTextAlignment(.leading)
                
                    //
            }
        }
    }
}

0
投票

这可能对你有用..

var body: some View {
    NavigationView {
        NavigationLink {
            Text("fsdf")
        } label: {
            VStack(alignment: .leading) {
                Text("sdfsdlfjskfjsd sdflkjsdf sf sljdflsdkf asfjslkdfj sdfjlskfj sdfjldksfj asdfvfvf fvfvf fvfvl,v vfvl")
                    .frame(maxWidth: .infinity, alignment: .leading)
                    .padding(.leading) 
            }
            .frame(width: 300, height: 100)
            .background(Color.yellow)
        }
    }
}

}

© www.soinside.com 2019 - 2024. All rights reserved.