Я работаю над SwiftUI TabView со стилем .page (indexDisplayMode: .never). Я хочу отслеживать свойство minX представления каждой вкладки с помощью GeometryReader. Однако я заметил непоследовательное поведение при прокрутке между страницами.
Вот упрощенный код:
Я работаю над SwiftUI TabView со стилем .page (indexDisplayMode: .never). Я хочу отслеживать свойство minX представления каждой вкладки с помощью GeometryReader. Однако я заметил непоследовательное поведение при прокрутке между страницами. Вот упрощенный код: [code]import SwiftUI
struct ContactScreenView: View { let text: String var body: some View { ZStack { Color.red.opacity(0.4).ignoresSafeArea()
struct DemoView: View { @State private var selectedTab: Int = 0 var body: some View { VStack { TabView(selection: $selectedTab) { ContactScreenView(text: "followers") .background( GeometryReader(content: { geometry -> Color in let minX = geometry.frame(in: .global).minX print(minX) return Color.clear }) ) .tag(0) ContactScreenView(text: "following") .tag(1) ContactScreenView(text: "blocked") .tag(2) ContactScreenView(text: "Shared") .tag(3) } .tabViewStyle(.page(indexDisplayMode: .never)) } } }
#Preview { DemoView() } [/code] Наблюдаемое поведение: [list] [*]Когда я прокручиваю вторую страницу (индекс 1), значение minX корректно обновляется до screenWidth * 1, как и ожидалось.
[*]Когда я прокручиваю третью страницу (индекс 2), значение minX не обновляется. вообще обновить.
[*]Идеальным поведением для minX было бы обновление до screenWidth * 2 для третьей страницы и так далее для последующих страниц.
< /ol> Ожидаемое поведение:
[*]Значение minX должно правильно отражать глобальное положение каждой страницы при прокрутке TabView. Например: [*]Страница 0: minX = 0 [*]Страница 1: minX = screenWidth * 1 [*] Страница 2: minX = screenWidth * 2 [*]И так далее. [/list]
Я работаю над SwiftUI TabView со стилем .page (indexDisplayMode: .never). Я хочу отслеживать свойство minX представления каждой вкладки с помощью GeometryReader. Однако я заметил непоследовательное поведение при прокрутке между страницами.
Вот...
Я новичок в Swiftui, и я экспериментирую с анимацией. Стиль анимации для моих вкладок в нижней части работает, как и ожидалось, когда я нажимаю на каждый значок, а также, если я проведу на экране, чтобы переключаться между вкладками. Но когда я...
Я пытаюсь получить размер содержимого ScrollView при первоначальном рендеринге представления, но он возвращает 0,0 вместо фактического размера. Чтобы попытаться добиться этого, я создал представление ChildSizeReader после этого сообщения, и код...
Я замечаю, что если я использую Flexbox с помощью Select и Input , оба со стилем управления формой, то они не выровняются слева (я поместил этот текст жирным шрифтом, так как люди не понимают проблему). Левая сторона верхнего входа не выровнена с...
Я замечаю, что если я использую Flexbox с помощью Select и Input , оба со стилем управления формой, то они не выровняются слева (я поместил этот текст жирным шрифтом, так как люди не понимают проблему). Левая сторона верхнего входа не выровнена с...