繁体   English   中英

Object 未在 SwiftUI 表中对齐

[英]Object doesn't align in SwiftUI sheet

我在 Swift Playground 中使用工作表,我想将加号对齐到屏幕的左上角,但是当我尝试运行下面的代码时,加号没有对齐,它只保留在工作表的中心. 有没有办法来解决这个问题?

免责声明:我正在使用 SwiftUI 和 Swift 游乐场

struct SecondView : View {
    @Environment(\.presentationMode) var presentationMode
    @State var string: String
    var body: some View {
        VStack {
            Button(action: {
                self.presentationMode.wrappedValue.dismiss()
            }, label: {
                Image(systemName: "plus")
                    .resizable()
                    .frame(width: 30, height: 30, alignment: .leading)
            })
        }
    }
}

在 SwiftUI 中,通常生成的父视图的边界由其中的视图决定。 在这种情况下,您的整体视图受 Button (在 VStack 中)的约束,因此无论以何种方式对齐它都不会在它的严格范围内移动太多(或根本不移动)。 如果您在最外层视图周围绘制边框/背景,您会明白我的意思。

一种解决方案是使用Spacer()来灵活扩展内部视图以占用额外的可用空间。

var body: some View {
  VStack {
     HStack { 
       Button(...) // probably want to add some padding
       Spacer()
     }
     Spacer()
  }
} 

或者在关闭按钮的情况下,将其添加为叠加层。

与下面的文字:

var body: some View {
  VStack {
     VStack(spacing: 10) {
       HStack { 
         Button(...) // probably want to add some padding 
         Spacer()
       }
       Text(...)
     }
     Spacer()
  }
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM