SwiftUI 从配置文件选项卡栏项进行导航的最佳方式



第一个在SwiftUI上编写的项目。导航有麻烦。

如果我想像这样导航:配置文件 ->编辑配置文件 ->另一个视图

不确定这个好主意是否使用它:

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

还尝试将其与下一个结构一起使用:body -> ScrollView -> VStack -> 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)
}

谁在寻找解决方案以全屏呈现的人......我制定了自己的解决方案。别客气!;)

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)
}

}

最新更新