Как избежать родительского ScrollView, чтобы обрезать внутренний ScrollView? - PullRequest
0 голосов
/ 11 апреля 2020

Когда горизонтальный дочерний ScrollView вложен в вертикальный родительский ScrollView, внутренний элемент обрезается родительским ScrollView. Есть ли в настоящее время (Xcode 11.4) способ изменить это поведение? clipped when nested

Работает, как и ожидалось, когда ScrollView не является вложенным. (закомментировал родительский элемент) Красный элемент рисуется поверх SafeArea.

not clipped when nested

1 Ответ

0 голосов
/ 11 апреля 2020

Здесь возможен подход к рассмотрению.

Однако есть один недостаток - ошибка возникает в SwiftUI, при изменении ориентации на портретную горизонтальную прокрутку неожиданное смещение (внутреннее, потому что по всем внешним границам все в порядке). Я пока не нашел обходного пути для этого, но ... в любом случае

Протестировано с Xcode 11.4 / iOS 13.4

demo

    var body: some View {
        GeometryReader { gp in
            ScrollView(showsIndicators: true) {
                VStack {
                    ForEach(0..<3) { i in
                        ScrollView(.horizontal, showsIndicators: true) {
                            HStack {
                                ForEach(0..<10) { j in
                                    Color.red.frame(width: 100, height: 100)
                                }
                            }
                        }.background(Color.blue)
                    }
                }.frame(width: gp.size.width)
            }.background(Color.green)
        }.edgesIgnoringSafeArea(.horizontal)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...