第一个在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)
}
}