【发布时间】:2022-11-18 02:25:19
【问题描述】:
我想在我的选择器中的一些文本旁边使用图像,但是图像被放大了,我无法使用 .resizable .frame 和 ... 来调整它的大小。 我该如何解决这个问题?我同时使用 svg 和 png 格式,但都无法正常工作。
我使用资产中的图像
struct ContentView: View {
@State var array = ["one", "two", "three", "four"]
@State var selection: String = "one"
var body: some View {
HStack {
Picker("Select",selection: $selection) {
ForEach(array, id: \.self) { item in
HStack {
Text(item)
Image("BTC")
.resizable()
.clipped()
}
}
}
.pickerStyle(.menu)
.padding(.trailing)
}
}
}
【问题讨论】:
-
除了图像上的 .resizable 和 .frame 之外,您是否尝试过向 HStack 添加框架约束?另外,请确保将适当的 .aspectRatio 添加到图像中。
-
是的,我尝试向 Hstack 添加框架,但它也不起作用。但我还没有尝试将 aspectRatio 添加到图像中。
-
纵横比也帮不了我。
-
添加
.resizable然后.aspectRatio(contentMode: .fit)然后是你的 .frame,按照这个顺序看看它做了什么 -
我身上没有我的 Mac,所以我无法测试,但今晚我会看看它。
标签: swift image svg swiftui picker