首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI -总是左(前导)对齐navigationBarItems(前导:文本(“”))

SwiftUI -总是左(前导)对齐navigationBarItems(前导:文本(“”))
EN

Stack Overflow用户
提问于 2020-11-24 21:26:59
回答 1查看 236关注 0票数 0

我有一个具有动态引导项的NaivgationView。也就是说,当用户点击按钮时,它的文本就会被更新。所以这并不总是一样的。

此代码具有与我的项目类似的功能。

代码语言:javascript
复制
struct ContentView: View {
    @State var selectedDay: String = "Wednesday"
    let days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
    var body: some View {
        NavigationView {
            VStack {
                List {
                    ForEach(0..<days.count) {day in
                        Button(action: {
                            self.selectedDay = days[day]
                        }, label: {
                            Text(days[day])
                        })
                    }
                }
            }
            .navigationBarItems(leading: Text($selectedDay.wrappedValue))
        }
    }
}

我希望案文必须始终保持对齐。但是,如果一个文本的字母比第一个字母少,它就不会在左边。例如,在上面的代码中,Wednesday处于最左边的边缘,但是星期五不是。它的领头羊大约有16分。那么如何左对齐文本呢?

我也使用过这段代码,但仍然存在同样的问题。

代码语言:javascript
复制
VStack(alignment: .leading) {
     Text($selectedDay.wrappedValue)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-24 21:34:47

您可以向文本中添加一个框架并设置其对齐方式:

代码语言:javascript
复制
   .navigationBarItems(leading:
                            Text(selectedDay)
                                .frame(width: 100, alignment: .leading)
    )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64995102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档