【发布时间】:2021-11-21 00:17:24
【问题描述】:
我的 SwiftUI 界面在每个 iPhone 型号上看起来都不同。我想询问使用 SwiftUI 创建可扩展(或至少可适应)界面的最佳实践。
例如:
struct NewStruct: View {
@State var someState = false
var body: some View {
VStack {
HStack {
Spacer().frame(width: 25)
Text("Text1")
Spacer()
}
Button(action: {
someState = !someState
}, label: {
ZStack {
RoundedRectangle(cornerRadius: 15).fill(Color.white).frame(width: 350, height: 60)
HStack {
HStack {
Spacer().frame(maxWidth: 10)
Image(systemName: "bolt.fill").resizable().scaledToFit().frame(width: 35, height: 35).cornerRadius(30).padding()
Text("Text1").foregroundColor(Color.black)
Spacer()
Spacer(minLength: 30)
Image(systemName: "poweroff").resizable().frame(width: 25, height: 25)
Image(systemName: "power").resizable().frame(width: 25, height: 25)
Spacer().frame(maxWidth: 30)
}
}
}
})
}
}
}
【问题讨论】:
-
只是不要硬编码布局。
-
谢谢,你能提供一些技巧来避免这种情况吗?将不胜感激!
-
@SmilingKnight 只是不要使用固定框架,然后 SwiftUI 会自动缩放你的界面。也不要使用 GeometryReader。另外,如果我的回答有效,您可以按绿色复选标记接受吗?