首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HStack中的中心元素

HStack中的中心元素
EN

Stack Overflow用户
提问于 2022-02-21 17:34:10
回答 2查看 1.2K关注 0票数 1

我正在尝试实现一个居中的文本字段,但我似乎不能这样做。我试着用3种不同的方式来做,但它仍然是领先的。

代码语言:javascript
复制
//Mobile Number Field
                    
                    HStack(alignment: .center) {
                        
                        //Enter your number field
                        VStack(alignment: .center, spacing: 6){
                            Text("+ \(loginData.getCountryCode()) \(loginData.phoneNumber)")
                                .foregroundColor(Color.white)
                                .font(Font.custom("URWDIN-Thin", size: 20))
                                .padding(.top, 40)
                                .frame(alignment: .center)
                        }
                        
                        Spacer(minLength: 0)
                        
                    }

因此,我尝试通过HStack和VStack构造函数以及文本的框架对齐它。我的结果仍然是:

用户输入的文本也是对齐的。对如何解决这个问题有什么见解吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-21 18:04:07

HStack在中间垂直对齐。VStack在中间对齐,但是您在HStack中添加了它,然后使用Spacer()将堆栈推到左边。

只需在Spacer()之前添加VStack即可。或者只是以下几点:

代码语言:javascript
复制
HStack {
    Spacer()
    Text("In the center")
    Spacer()
}
票数 1
EN

Stack Overflow用户

发布于 2022-02-21 17:54:51

如果要实现文本字段,应该使用TextField…但是我想,要比您想要对齐一个文本,所以,实现如下:.multilineTextAlignment(.center)在您的代码。

如果要显式地对文本进行居中,请使用以下内容更改填充参数:.padding(.horizontal, 40)

代码语言:javascript
复制
//Mobile Number Field
                    
                    HStack(alignment: .center) {
                        
                        //Enter your number field
                        VStack(alignment: .center, spacing: 6){
                            Text("+ \(loginData.getCountryCode()) \(loginData.phoneNumber)")
                                .foregroundColor(Color.white)
                                .font(Font.custom("URWDIN-Thin", size: 20))
                                .padding(.horizontal, 40)
                                .multilineTextAlignment(.center)
                        }
                        
                        Spacer(minLength: 0)
                        
                    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71210642

复制
相关文章

相似问题

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