簡體   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