SegmentedControl прерывается при использовании ForEach - PullRequest
0 голосов
/ 14 июня 2019

Так что я пробую SwiftUI, и, к сожалению, у него все еще есть некоторые проблемы, но я не знаю, на моей ли он или просто глючит.Я пытаюсь использовать SegmentedControl вместе с ForEach, который отображает изображения, но метки 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"))
        }
    }
}

Я не понимаю, почему он должен сломаться, но это так,Я использую это неправильно или это просто ошибка?

preview

1 Ответ

0 голосов
/ 17 июня 2019

Ваш SegmentedControl растянут, и причина в вашем образе. Ширина SegmentedControl растягивается до размера изображения, и вы устанавливаете пользовательский кадр на изображение, не изменяя его размер. Вот почему ваши ярлыки выходят за пределы. Просто добавьте .resizable() к вашему изображению, это исправит размер вашего изображения, и ваши ярлыки также появятся:

Image("placeholder")
  .resizable()
  .frame(height: 200)
  .clipped()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...