Я хочу иметь ScrollView
, в котором есть страницы с навигационными кнопками ниже, как показано здесь .
У меня есть следующие представления.
PageNav(titles: Array<String>, views: Array<AnyView>)
PageNavTop(views: Array<AnyView>)
PageNavBottom(titles: Array<String>)
PageNavButton(title: String, action: () -> Void)
И у меня есть следующая View
иерархия, при условии, что у меня есть две страницы.
PageNav -> PageNavTop -> AnyView<page view 1>
-> AnyView<page view 2>
-> PageNavBottom -> PageNavButton(page title 1)
-> PageNavButton(page title 2)
Где PageNavTop
имеет жесты, прикрепленные к представлению прокрутки, поэтому мы можем пролистывать страницы, а PageNavBottom
позволяет нам используйте кнопки.
PageNav должен содержать @State var
, который я буду использовать как @Binding var
в дочернем представлении. Однако я использую пользовательскую функцию init
и не могу понять, как передать состояние на два уровня кнопкам.