SwiftUI лучший способ сделать навигацию из элемента панели вкладок профиля - PullRequest
0 голосов
/ 30 января 2020

Первый проект, написанный на SwiftUI . Есть проблемы, чтобы сделать навигацию.

Если я хочу перемещаться как: Профиль -> Редактировать профиль -> другой вид

Не уверен, что это хорошая идея использовать это:

@State private var navigateToEditProfile = false
if navigateToEditProfile{
    EditProfileView()
}

Также пытался использовать это со следующей структурой: body -> ScrollView -> VStack -> NavigationView

Но это вообще ничего мне не показывает .. . показывать, только если я удаляю родительский стек NavigationView, но затем нажатие не работает!

NavigationView{
    NavigationLink(destination: EditProfile(){
       Button(){
           Row(rowActive: false, icon: "icn-edit", title: "Edit Profile")
       }
    }
}

Работает только настоящее, но я не могу этого сделать .overFullScren

Button(action: { self.navigateToEdit.toggle() }){
                        Row(rowActive: false, icon: "icn-edit", title: "Edit Profile")
                    }.buttonStyle(PlainButtonStyle())
                        .sheet(isPresented: $navigateToEdit){
                        EditProfile().environmentObject(ProfileViewModel.shared)
                    }

1 Ответ

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

Кто люди, которые ищут решение, чтобы сделать подарок на весь экран ... Я сделал свое собственное решение. Пожалуйста! ;)

extension UIViewController {
func present<Content: View>(style: UIModalPresentationStyle = .automatic, @ViewBuilder builder: () -> Content) {
    let toPresent = UIHostingController(rootView: AnyView(EmptyView()))
    toPresent.modalPresentationStyle = style
    toPresent.rootView = AnyView(
        builder()
            .environment(\.viewController, toPresent)
    )
    self.present(toPresent, animated: true, completion: nil)
}

}

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