SwiftUI: элемент управления Toggle меняет свое местоположение - PullRequest
1 голос
/ 14 января 2020

У меня есть очень простая форма, где я перечисляю CommentViewControl в списке.

struct CommentViewControl: View {

    var body: some View {
        HStack {
            AnsweredBar(question.IsAnswered)
                .frame(width: 5)
                .offset(x: -10)
            Text("Any Text")
                .font(.caption)
                .fontWeight(.light)
                .frame(width: CGFloat(50 * UIScreen.main.bounds.width/100),
                       alignment: .leading)
                .background(Color.orange)
                .offset(x: -16)
            Spacer()
            Toggle(isOn: $toggleControl) {
                Text("")
            }
        }
    }
}

Проблема в том, что расположение переключателя произвольно меняется для каждой строки.

Что может вызвать такую ​​случайную проблему местоположения. У меня есть несколько вкладок, когда я меняю вкладку и возвращаюсь к предыдущей; какой-то другой тумблер меняет свое место. это очень противоречиво. Смотрите изображение ниже.

Toggles are randomly replaced on the list

1 Ответ

0 голосов
/ 14 января 2020

Это похоже на проблему обновления или кеширования ... попробуйте следующее

Toggle(isOn: $toggleControl)
{
    Text("")
}.id(UUID().uuidString)
...