SwiftUI:新NavigationStack中NavigationLink的左对齐问题
你的VStack已设置.leading对齐,但NavigationLink默认会根据自身内容宽度自适应布局,不会占满父容器的横向空间,因此视觉上呈现居中效果。要让它强制左对齐,最直接的方法是给NavigationLink添加frame修饰符,让它填充可用的横向宽度并指定内容左对齐:
VStack(alignment: .leading) { NavigationLink(post.phrase, value: post) .frame(maxWidth: .infinity, alignment: .leading) // 新增该修饰符 .lineLimit(2) .font(.system(size: 20)) .multilineTextAlignment(.leading) .foregroundColor(.black) Text(post.Translation.chinese) .lineLimit(1) }
如果还有其他父视图的布局约束影响,可检查上层视图的对齐设置,但上述方法基本能解决绝大多数场景下的NavigationLink左对齐需求。
内容的提问来源于stack exchange,提问作者Daryl Wong
相关产品推荐
相关产品推荐

