我有以下代码:
First Struct:
struct MenuButton: View {
var buttonText: String
var buttonCallView: AnyView
var body: some View {
NavigationView{
NavigationLink(destination: self.buttonCallView) {
Text(self.buttonText)
}
}
}
}第二结构:
struct ProfileMenuContent: View {
var body: some View {
VStack{
MenuButton(buttonText: "Settings", buttonCallView: AnyView(SettingsView()))
MenuButton(buttonText: "My Favourites", buttonCallView: AnyView(MyFavouritesView()))
MenuButton(buttonText: "Sign Out", buttonCallView: AnyView(SignOutView()))
}
}
}这就产生了以下行为:

我想要的:当一个按钮被按下,而不是仅仅占用新视图的1/3空间,它应该占据全屏。
发布于 2020-03-29 11:46:17
要获得您想要的行为,只需从NavigationView结构中删除MenuBotton并向ProfileMenuContent添加一个NavigationView。
新代码:
struct MenuButton: View {
var buttonText: String
var buttonCallView: AnyView
var body: some View {
NavigationLink(destination: self.buttonCallView) {
Text(self.buttonText)
}
}
}
struct ProfileMenuContent: View {
var body: some View {
NavigationView {
VStack {
MenuButton(buttonText: "Settings", buttonCallView: AnyView(SettingsView()))
MenuButton(buttonText: "My Favourites", buttonCallView: AnyView(MyFavouritesView()))
MenuButton(buttonText: "Sign Out", buttonCallView: AnyView(SignOutView()))
}
}
}
}https://stackoverflow.com/questions/60913600
复制相似问题