Удаленное изображение загружается корректно с помощью List, но не загружается при использовании ScrollView с внедренным VStack с SwitUI - PullRequest
0 голосов
/ 25 июня 2019

Я получаю удаленное изображение внутри List.Это работает правильно.Но это не работает, если я помещаю код в ScrollView

ScrollView {
   HStack {

. Я предоставил пример проекта XCode 11-Beta SwiftUI здесь .Просто скачайте и запустите.После загрузки посмотрите файл ContentView.swift.(см. изображение)

enter image description here

Прокомментируйте деталь, которая не работает, и раскомментируйте деталь, которая работает, чтобы увидеть разницу.Список работает, но scrollView не работает.

Есть идеи почему?

[ ОБНОВЛЕНИЕ ]: теперь я изменил код на struct BuggedView на следующий:

struct BuggedView : View {
    @ObjectBinding var viewModel = EventController.ViewModel()
    var body: some View {
        ZStack(alignment: .top) {

            GeometryReader() { x in
                ScrollView {
                    ForEach(0..<self.viewModel.events.count) { index in
                        EventComponent(event: self.viewModel.events[index]).padding(.top).frame(width: x.size.width)
                    }
                }
            }

            List {
                Spacer().frame(height: 183)
                ForEach(0..<self.viewModel.events.count) { index in
                    EventComponent(event: self.viewModel.events[index]).padding(.top)
                }
            }.offset(x: 200, y: 0)
        }//.frame(width:400, height: 400)
    }
}

С этим изменением вы можете видеть обе версии изображения на экране одновременно.Обратите внимание, что в обновленном коде есть закомментированный код кадра.Ну вот и результат

  1. С кодом кадра прокомментирован - Не работает
  2. С кодом кадра без комментариев - Он работает

SwiftUI bugможет быть?

1 Ответ

1 голос
/ 02 июля 2019

Это почти наверняка ошибка SwiftUI, о которой нужно сообщить в Apple, которая должна быть исправлена ​​в какой-то момент. Модификатор .frame не должен иметь никакого эффекта, как вы видите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...