[英]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.