所以我正在尝试SwiftUI,不幸的是它仍然存在一些问题,但是我不知道它是站在我这边还是只是在越野车。我正在尝试在显示图像的ForEach旁边使用SegmentedControl,但是SegmentedControl的标签不见了。
这是我的ContentView:
struct ContentView : View {
@State var filter = 0
var body: some View {
NavigationView {
SegmentedControl(selection: $filter) {
Text("Tag1").tag(0)
Text("Tag2").tag(1)
}.padding(.bottom)
ForEach(1...3) { spot in
ZStack {
Image("placeholder")
.frame(height: 200)
.clipped()
Text("Swift")
.font(.largeTitle)
.foregroundColor(.white)
}.padding(.bottom, -8)
}.navigationBarTitle(Text("Explore"))
}
}
}
我不明白为什么它会破裂,但确实会破裂。我使用不当还是只是一个错误?
答案 0 :(得分:0)
您的SegmentedControl
被拉长了,原因是您的图像。 SegmentedControl
的宽度被拉伸到图像的大小,并且您正在为图像设置自定义框架而没有使其可调整大小。这就是为什么您的标签超出范围的原因。只需在图像中添加.resizable()
,即可确定图像的大小,标签也会显示:
Image("placeholder")
.resizable()
.frame(height: 200)
.clipped()